Message ID | 20241007152223.59008-1-abhashkumarjha123@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Interrupt and Continuous mode support for VL6180 | expand |
On Mon, 7 Oct 2024 20:52:20 +0530 Abhash Jha <abhashkumarjha123@gmail.com> wrote: > Sending v3 again because I accidently sent it without a subject. > Apologies from my side. > > Hello, > Series applied to the togreg branch of iio.git and pushed out as testing for 0-day to have a first look at it. Thanks, Jonathan > The first patch adds support for configuring the Sampling frequency > (inter-measurement period) of the sensor. The values should be provided > in milihertz. The default value for the inter-measurement period for > ALS is 10ms or 100000 mHz and for Range is 50ms or 20000 mHz. > > The second patch adds support for interrupt based single shot reading. > We registered an irq_handler that fires everytime the data is ready. > And then we read the appropriate value in the `vl6180_measure` routine. > > The third patch adds support for continuous mode in the sensor by using > buffers. We enable the sensor's continuous mode in the buffer_postenable > function depending on the `active_scan_mask`. > The continuous mode can be disabled by disabling the buffer. > Added a trigger to the device for the continuous mode. Also validating that > the device uses the internal trigger provided by us. > > Changes in v2: > - Fixed `label followed by a declaration is a C23 extension [-Wc23-extensions]` > by moving the guard(mutex)(&data->lock) above the switch statement. > > - The above error was pointed out during testing by kernel-test-robot > > Changes in v3: > - Fixed race condition related to `reinit_completion` > - Used `iio_for_each_active_channel` instead of manually accessing `masklength` > - Accepting sampling frequency values in milihertz instead of miliseconds. > - Minor code refactoring. > > Thanks, > Abhash Jha > > Abhash Jha (3): > iio: light: vl6180: Add configurable inter-measurement period support > iio: light: vl6180: Added Interrupt support for single shot access > iio: light: vl6180: Add support for Continuous Mode > > drivers/iio/light/vl6180.c | 255 ++++++++++++++++++++++++++++++++++--- > 1 file changed, 238 insertions(+), 17 deletions(-) >