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(-)
--
2.43.0