Re: [PATCH v9 0/7] iio: accel: Add support for Kionix/ROHM KX132-1211 accelerometer

From: Jonathan Cameron
Date: Sun Sep 17 2023 - 05:50:58 EST


On Sat, 16 Sep 2023 14:38:46 +0200
Mehdi Djait <mehdi.djait.k@xxxxxxxxx> wrote:

> Hello everyone,
>
> Version 9 for adding support for the kx132-1211 accelerometer
>
> KX132-1211 accelerometer is a sensor which:
> - supports G-ranges of (+/-) 2, 4, 8, and 16G
> - can be connected to I2C or SPI
> - has internal HW FIFO buffer
> - supports various ODRs (output data rates)
>
> The KX132-1211 accelerometer is very similar to the KX022A.
> One key difference is number of bits to report the number of data bytes that
> have been stored in the buffer: 8 bits for KX022A vs 10 bits for
> KX132-1211.

Series applied with some minor white space tweaks as called out for individual
patches.

Applied to the togreg branch of iio.git and initially pushed out as testing for
the autobuilders to poke at it and see what we've missed.

Thanks,

Jonathan

>
> Changes in v9:
> - used i2c_get_match_data
> - changed the name and description of the function to get available data
> in HW fifo buffer
> - changed the description in the Kconfig file
>
> Changes in v8:
> - replaced min_t by min and kmalloc by kmalloc_array as suggested by Andy
>
> Changes in v7:
> - added a min_t in kx132_get_fifo_bytes to ensure that we don't that the
> fifo_bytes is never bigger than the
> fifo_length * KX022A_FIFO_SAMPLES_SIZE_BYTES - no matter what we read from I2C
> as suggested by Matti
>
> Changes in v6:
> - check for availability of chip_info for the SPI case
> - changed the order of elements in the kx022a_data struct to save memory
>
> Changes in v5:
> - moved the "kfree" call to match the reverse of what happens in
> kx022a_fifo_enable() as suggested by Matti and Jonathan
> - used min_t, checked for availability of chip_info and moved the
> position of u16 buf_smp_lvl_mask as suggested by Andy
> - introduced buf_smp_lvl_mask in Patch 7 as suggested by Jonathan
>
> Changes in v4:
> - moved the allocation of the fifo_buffer to kx022a_fifo_enable and
> kx022a_fifo_disable
> - some fixes to the regmap ranges of kx132-1211
>
> Changes in v3:
> - added two new patches by separating the addition of the
> i2c_device_id table and the removal of blank lines from other
> unrelated changes
> - fixes a warning detected by the kernel test robot
> - made all the changes related the chip_info in one patch
>
> Changes in v2:
> - added a new patch for warning when the device_id match fails in the
> probe function
> - added a new patch for the function that retrieves the number of bytes
> in the buffer
> - added a change to the Kconfig file in the patch adding the support
> for the kx132-1211
> - various fixes and modifications listed under each patch
>
> Mehdi Djait (7):
> dt-bindings: iio: Add KX132-1211 accelerometer
> iio: accel: kionix-kx022a: Remove blank lines
> iio: accel: kionix-kx022a: Warn on failed matches and assume
> compatibility
> iio: accel: kionix-kx022a: Add an i2c_device_id table
> iio: accel: kionix-kx022a: Refactor driver and add chip_info structure
> iio: accel: kionix-kx022a: Add a function to retrieve number of bytes
> in buffer
> iio: accel: Add support for Kionix/ROHM KX132-1211 accelerometer
>
> .../bindings/iio/accel/kionix,kx022a.yaml | 12 +-
> drivers/iio/accel/Kconfig | 10 +-
> drivers/iio/accel/kionix-kx022a-i2c.c | 20 +-
> drivers/iio/accel/kionix-kx022a-spi.c | 15 +-
> drivers/iio/accel/kionix-kx022a.c | 315 ++++++++++++++----
> drivers/iio/accel/kionix-kx022a.h | 112 ++++++-
> 6 files changed, 409 insertions(+), 75 deletions(-)
>