mbox series

[v5,0/3] iio: Support ROHM/Kionix kx022a

Message ID cover.1666614295.git.mazziesaccount@gmail.com (mailing list archive)
Headers show
Series iio: Support ROHM/Kionix kx022a | expand

Message

Matti Vaittinen Oct. 24, 2022, 12:37 p.m. UTC
Add initial support for ROHM/Kionix kx022a accelerometer

About the HW:
KX022A 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)
	- support detecting special events like double tap or motion
	- can be configured to wake-up system when events are detected.

About the series:

This series adds support for only getting the accelerometer data and
configuring the G-range / ODR via IIO. Motion detection or double-tap
detection are not supported by the series. The other quite important but
still missing piece is the runtime PM. Nevertheless, the driver should be
usable and brings the basic support for getting accelerometer data.

Changelog v5:
	- KX022A: styling/print fixes.
	- KX022A: fix race for requesting IRQ/populating user-space
	  entries.
	- KX022A: fix few variable types
	- KX022A: drop unnecessary udelay()
	- MAINTAINERS: Change myself to be a maintainer.

Changelog v4: (More detailed log in individual patches)
	- KX022A: mostly styling/print fixes.
	- KX022A: fix return value from IRQ thread handler.

Changelog v3: (More detailed log in individual patches)
	- dt-bindings: fixed as suggested by Krzysztof
	- KX022A: multiple fixes as suggested by Andy
		- Fair to mention that couple of suggested changes are
		  not done (Some styling, boilerplate text in KConfig)
		  as there has been no consensus whether the suggested
		  changes improve situation. Ultimately the decision
		  whether these changes are mandatory lay on the
		  shoulders of the maintainers... Sorry for that.
	- Enable the FIFO without module param now that the "FIFO stuck"
	  issue can be prevented.
	- Fix potential race with time-stamp calculation when user-space
	  invokes the fifo flush.
	- Drop the already merged regulator patches.

Changelog v2: (More detailed log in individual patches)
	- dt-bindings: fixed as suggested by Krzysztof
	- dt-bindings: support both INT1 and INT2
	- KX022A: multiple fixes as suggested by Jonathan
	- fixed SPI driver after some testing

---

Matti Vaittinen (3):
  dt-bindings: iio: Add KX022A accelerometer
  iio: accel: Support Kionix/ROHM KX022A accelerometer
  MAINTAINERS: Add KX022A maintainer entry

 .../bindings/iio/accel/kionix,kx022a.yaml     |   65 +
 MAINTAINERS                                   |    5 +
 drivers/iio/accel/Kconfig                     |   21 +
 drivers/iio/accel/Makefile                    |    3 +
 drivers/iio/accel/kionix-kx022a-i2c.c         |   51 +
 drivers/iio/accel/kionix-kx022a-spi.c         |   58 +
 drivers/iio/accel/kionix-kx022a.c             | 1142 +++++++++++++++++
 drivers/iio/accel/kionix-kx022a.h             |   82 ++
 8 files changed, 1427 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/accel/kionix,kx022a.yaml
 create mode 100644 drivers/iio/accel/kionix-kx022a-i2c.c
 create mode 100644 drivers/iio/accel/kionix-kx022a-spi.c
 create mode 100644 drivers/iio/accel/kionix-kx022a.c
 create mode 100644 drivers/iio/accel/kionix-kx022a.h


base-commit: 9abf2313adc1ca1b6180c508c25f22f9395cc780

Comments

Jonathan Cameron Oct. 29, 2022, 2:23 p.m. UTC | #1
On Mon, 24 Oct 2022 15:37:57 +0300
Matti Vaittinen <mazziesaccount@gmail.com> wrote:

> Add initial support for ROHM/Kionix kx022a accelerometer

Series applied with minor tweaks as per individual replies +
Andy's RB found and added.

Applied to the togreg branch of iio.git and pushed out initially as
testing to see if 0-day can find anything we missed before I make
a mess of linux-next.

Thanks,

Jonathan

> 
> About the HW:
> KX022A 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)
> 	- support detecting special events like double tap or motion
> 	- can be configured to wake-up system when events are detected.
> 
> About the series:
> 
> This series adds support for only getting the accelerometer data and
> configuring the G-range / ODR via IIO. Motion detection or double-tap
> detection are not supported by the series. The other quite important but
> still missing piece is the runtime PM. Nevertheless, the driver should be
> usable and brings the basic support for getting accelerometer data.
> 
> Changelog v5:
> 	- KX022A: styling/print fixes.
> 	- KX022A: fix race for requesting IRQ/populating user-space
> 	  entries.
> 	- KX022A: fix few variable types
> 	- KX022A: drop unnecessary udelay()
> 	- MAINTAINERS: Change myself to be a maintainer.
> 
> Changelog v4: (More detailed log in individual patches)
> 	- KX022A: mostly styling/print fixes.
> 	- KX022A: fix return value from IRQ thread handler.
> 
> Changelog v3: (More detailed log in individual patches)
> 	- dt-bindings: fixed as suggested by Krzysztof
> 	- KX022A: multiple fixes as suggested by Andy
> 		- Fair to mention that couple of suggested changes are
> 		  not done (Some styling, boilerplate text in KConfig)
> 		  as there has been no consensus whether the suggested
> 		  changes improve situation. Ultimately the decision
> 		  whether these changes are mandatory lay on the
> 		  shoulders of the maintainers... Sorry for that.
> 	- Enable the FIFO without module param now that the "FIFO stuck"
> 	  issue can be prevented.
> 	- Fix potential race with time-stamp calculation when user-space
> 	  invokes the fifo flush.
> 	- Drop the already merged regulator patches.
> 
> Changelog v2: (More detailed log in individual patches)
> 	- dt-bindings: fixed as suggested by Krzysztof
> 	- dt-bindings: support both INT1 and INT2
> 	- KX022A: multiple fixes as suggested by Jonathan
> 	- fixed SPI driver after some testing
> 
> ---
> 
> Matti Vaittinen (3):
>   dt-bindings: iio: Add KX022A accelerometer
>   iio: accel: Support Kionix/ROHM KX022A accelerometer
>   MAINTAINERS: Add KX022A maintainer entry
> 
>  .../bindings/iio/accel/kionix,kx022a.yaml     |   65 +
>  MAINTAINERS                                   |    5 +
>  drivers/iio/accel/Kconfig                     |   21 +
>  drivers/iio/accel/Makefile                    |    3 +
>  drivers/iio/accel/kionix-kx022a-i2c.c         |   51 +
>  drivers/iio/accel/kionix-kx022a-spi.c         |   58 +
>  drivers/iio/accel/kionix-kx022a.c             | 1142 +++++++++++++++++
>  drivers/iio/accel/kionix-kx022a.h             |   82 ++
>  8 files changed, 1427 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/accel/kionix,kx022a.yaml
>  create mode 100644 drivers/iio/accel/kionix-kx022a-i2c.c
>  create mode 100644 drivers/iio/accel/kionix-kx022a-spi.c
>  create mode 100644 drivers/iio/accel/kionix-kx022a.c
>  create mode 100644 drivers/iio/accel/kionix-kx022a.h
> 
> 
> base-commit: 9abf2313adc1ca1b6180c508c25f22f9395cc780