summaryrefslogtreecommitdiffstats
path: root/drivers/iio/light/acpi-als.c
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2021-03-17 00:40:10 -0700
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2021-03-25 19:13:52 +0000
commitdbd7e992a55dd5c9b3e0771b2c417187c5de059e (patch)
tree053a858abaac72e45220371073acc06351006923 /drivers/iio/light/acpi-als.c
parent707182b4ff3e644393f785aba36b6edfcc316b16 (diff)
downloadlinux-dbd7e992a55dd5c9b3e0771b2c417187c5de059e.tar.gz
linux-dbd7e992a55dd5c9b3e0771b2c417187c5de059e.tar.bz2
linux-dbd7e992a55dd5c9b3e0771b2c417187c5de059e.zip
iio: acpi_als: Add timestamp channel
Add timestamp channel in list of channel, to allow retrieving timestamps when events are produced. Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20210317074012.2336454-2-gwendal@chromium.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/light/acpi-als.c')
-rw-r--r--drivers/iio/light/acpi-als.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/iio/light/acpi-als.c b/drivers/iio/light/acpi-als.c
index f8e547fd35e7..784868aa8fbf 100644
--- a/drivers/iio/light/acpi-als.c
+++ b/drivers/iio/light/acpi-als.c
@@ -45,24 +45,22 @@ static const struct iio_chan_spec acpi_als_channels[] = {
.info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
BIT(IIO_CHAN_INFO_PROCESSED),
},
+ IIO_CHAN_SOFT_TIMESTAMP(1),
};
/*
* The event buffer contains timestamp and all the data from
* the ACPI0008 block. There are multiple, but so far we only
- * support _ALI (illuminance). Once someone adds new channels
- * to acpi_als_channels[], the evt_buffer below will grow
- * automatically.
+ * support _ALI (illuminance): One channel, padding and timestamp.
*/
-#define ACPI_ALS_EVT_NR_SOURCES ARRAY_SIZE(acpi_als_channels)
#define ACPI_ALS_EVT_BUFFER_SIZE \
- (sizeof(s64) + (ACPI_ALS_EVT_NR_SOURCES * sizeof(s32)))
+ (sizeof(s32) + sizeof(s32) + sizeof(s64))
struct acpi_als {
struct acpi_device *device;
struct mutex lock;
- s32 evt_buffer[ACPI_ALS_EVT_BUFFER_SIZE];
+ s32 evt_buffer[ACPI_ALS_EVT_BUFFER_SIZE / sizeof(s32)] __aligned(8);
};
/*