[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aPNe89G5mNxhMEbo@lore-desk>
Date: Sat, 18 Oct 2025 11:33:39 +0200
From: Lorenzo Bianconi <lorenzo@...nel.org>
To: Francesco Lavra <flavra@...libre.com>
Cc: Jonathan Cameron <jic23@...nel.org>,
David Lechner <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iio: imu: st_lsm6dsx: fix array size for
st_lsm6dsx_settings fields
> The `decimator` and `batch` fields of struct st_lsm6dsx_settings
> are arrays indexed by sensor type, not by sensor hardware
> identifier; moreover, the `batch` field is only used for the
> accelerometer and gyroscope.
> Change the array size for `decimator` from ST_LSM6DSX_MAX_ID to
> ST_LSM6DSX_ID_MAX, and change the array size for `batch` from
> ST_LSM6DSX_MAX_ID to 2; move the enum st_lsm6dsx_sensor_id
> definition so that the ST_LSM6DSX_ID_MAX value is usable within
> the struct st_lsm6dsx_settings definition.
>
> Fixes: 801a6e0af0c6c ("iio: imu: st_lsm6dsx: add support to LSM6DSO")
> Signed-off-by: Francesco Lavra <flavra@...libre.com>
Acked-by: Lorenzo Bianconi <lorenzo@...nel.org>
> ---
> drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> index 3cd520bdec46..a4f558899767 100644
> --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> @@ -252,6 +252,15 @@ struct st_lsm6dsx_event_settings {
> u8 wakeup_src_x_mask;
> };
>
> +enum st_lsm6dsx_sensor_id {
> + ST_LSM6DSX_ID_GYRO,
> + ST_LSM6DSX_ID_ACC,
> + ST_LSM6DSX_ID_EXT0,
> + ST_LSM6DSX_ID_EXT1,
> + ST_LSM6DSX_ID_EXT2,
> + ST_LSM6DSX_ID_MAX,
> +};
> +
> enum st_lsm6dsx_ext_sensor_id {
> ST_LSM6DSX_ID_MAGN,
> };
> @@ -337,23 +346,14 @@ struct st_lsm6dsx_settings {
> struct st_lsm6dsx_odr_table_entry odr_table[2];
> struct st_lsm6dsx_samples_to_discard samples_to_discard[2];
> struct st_lsm6dsx_fs_table_entry fs_table[2];
> - struct st_lsm6dsx_reg decimator[ST_LSM6DSX_MAX_ID];
> - struct st_lsm6dsx_reg batch[ST_LSM6DSX_MAX_ID];
> + struct st_lsm6dsx_reg decimator[ST_LSM6DSX_ID_MAX];
> + struct st_lsm6dsx_reg batch[2];
> struct st_lsm6dsx_fifo_ops fifo_ops;
> struct st_lsm6dsx_hw_ts_settings ts_settings;
> struct st_lsm6dsx_shub_settings shub_settings;
> struct st_lsm6dsx_event_settings event_settings;
> };
>
> -enum st_lsm6dsx_sensor_id {
> - ST_LSM6DSX_ID_GYRO,
> - ST_LSM6DSX_ID_ACC,
> - ST_LSM6DSX_ID_EXT0,
> - ST_LSM6DSX_ID_EXT1,
> - ST_LSM6DSX_ID_EXT2,
> - ST_LSM6DSX_ID_MAX,
> -};
> -
> enum st_lsm6dsx_fifo_mode {
> ST_LSM6DSX_FIFO_BYPASS = 0x0,
> ST_LSM6DSX_FIFO_CONT = 0x6,
> --
> 2.39.5
>
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists