diff mbox series

[v5,1/3] iio: acpi_als: Add timestamp channel

Message ID 20201216214107.774969-2-gwendal@chromium.org (mailing list archive)
State New, archived
Headers show
Series iio: acpi_als: Add sotfware trigger support | expand

Commit Message

Gwendal Grignou Dec. 16, 2020, 9:41 p.m. UTC
Add timestamp channel in list of channel, to allow retrieving timestamps
when events are produced.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 Changes in v4:
 Fix spelling.
 Changes in v5:
 Fill comment line.

 drivers/iio/light/acpi-als.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Comments

Andy Shevchenko Dec. 16, 2020, 10:39 p.m. UTC | #1
On Wed, Dec 16, 2020 at 11:41 PM Gwendal Grignou <gwendal@chromium.org> wrote:
>
> Add timestamp channel in list of channel, to allow retrieving timestamps
> when events are produced.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---
>  Changes in v4:
>  Fix spelling.
>  Changes in v5:
>  Fill comment line.
>
>  drivers/iio/light/acpi-als.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iio/light/acpi-als.c b/drivers/iio/light/acpi-als.c
> index 2be7180e2cbfa..6dbaeeebe2041 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);
>  };
>
>  /*
> --
> 2.29.2.729.g45daf8777d-goog
>
diff mbox series

Patch

diff --git a/drivers/iio/light/acpi-als.c b/drivers/iio/light/acpi-als.c
index 2be7180e2cbfa..6dbaeeebe2041 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);
 };
 
 /*