On Sat, 14 Sep 2024 23:42:42 +0530 Abhash Jha <abhashkumarjha123@xxxxxxxxx> wrote: > 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. Applied with tweaks to the testing branch of iio.git which will be rebased on rc1 once available. Thanks, Jonathan > > Changes in v3: > - Replace hardcoded mask values with GENMASK() > - Minor refactoring > - Code formatting changes > > 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 | 361 ++++++++++++++++++++++++++++++++++++- > 1 file changed, 357 insertions(+), 4 deletions(-) >