mbox series

[v2,0/4] Threshold event and Sampling freq support for LTR390

Message ID 20240910045030.266946-1-abhashkumarjha123@gmail.com (mailing list archive)
Headers show
Series Threshold event and Sampling freq support for LTR390 | expand

Message

Abhash Jha Sept. 10, 2024, 4:50 a.m. UTC
Hello,

The first patch adds support for configuring the Sampling frequency of
the sensor. The available values for the sampling freqeuncy are provided
by the `read_avail` callback and they are in miliHertz.

Then the second patch adds support for suspending and resuming
the sensor by providing the necessary callbacks. And registering
the ops with the driver.

The third patch in the series adds support for Threshold events and interrupts.
Exposed rising and falling threshold events for both the channels. The events
can be configured via the write_event_config callback. The desired rising or falling
threshold value can be written to from userspace.

The fourth patch adds support for threshold interrupt persistance.
It triggers when the UVS/ALS data is out of thresholds for a specific number
of consecutive measurements.
Exposed the IIO_EV_INFO_PERIOD attribute by which userspace can set the persistance
value in miliseconds. The persistance period should be greater than or equal
to the sampling period.

Changes in v2:
- Added "linux/irq.h" include to fix `-Wimplicit-function-declaration`.
- The above error was pointed during testing by kernel-test-robot

Thanks,
Abhash


Abhash Jha (4):
  iio: light: ltr390: Added configurable sampling frequency support
  iio: light: ltr390: Suspend and Resume support
  iio: light: ltr390: Interrupts and threshold event support
  iio: light: ltr390: Add interrupt persistance support

 drivers/iio/light/ltr390.c | 363 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 361 insertions(+), 2 deletions(-)