Re: [PATCH v6 0/8] iio: light: vcnl4000: Add features for vncl4040/4200

From: Jonathan Cameron
Date: Sat Jun 17 2023 - 16:05:28 EST


On Tue, 13 Jun 2023 15:50:16 +0200
Astrid Rost <astrid.rost@xxxxxxxx> wrote:

> Add a more complete support for vncl4040 and vcnl4200, which allows to
> change the distance of proximity detection and interrupt support for the
> illuminance sensor.
Series applied to the togreg branch of iio.git and pushed out as testing
for 0-day to see if it can find anything we missed.

Note that I don't plan another pull request this cycle, so this is now
material for 6.6 and I'll be rebasing the tree after 6.5-rc1 is out.

Thanks,

Jonathan

>
> Proximity functionality:
> - Interrupt support (new on vcnl4200).
>
> Proximity reduce the amount of interrupts:
> - Adaptable integration time (new on vcnl4200) - the sampling rate
> changes according to this value.
> - Period - interrupt is asserted if the value is above or
> below a certain threshold.
>
> Proximity change the activity distance:
> - Oversampling ratio - Amount of LED pulses per measured raw value.
> - Calibration bias - LED current calibration of the sensor.
>
> Illuminance functionality:
> - Interrupt support.
>
> Illuminance reduce the amount of interrupts:
> - Adaptable integration time - the sampling rate and scale changes
> according to this value.
> - Period – interrupt is asserted if the value is above or
> below a certain threshold.
>
> changes v2:
> - [PATCH v2 3/7] Fixed calculation of al_scale.
> Fix the value of vcnl4040 according to the data-sheet.
> Use div_u64 for the division.
> scription for the branch
>
> changes v3:
> - [PATCH v3 1-3/7] Add differences between the chips as variables in
> chip-spec.
> - [PATCH v3 4/7] Changed commit message.
> - [PATCH v3 5/7] Use period instead of debounce time. This causes some
> calculations as the period is a time and the chip allows to set a certain
> amount of measurements above/below the threshold, before throwing an
> interrupt.
> - [PATCH v3 6/7] Changed commit message.
>
> changes v4:
> - [PATCH v3 1-3/7] Fix setting correct als_it for vcnl4040.
> - [PATCH v3 5/7] Use MICRO macro.
> Fix values greater than 1 s for the proximity period.
>
> changes v5:
> [PATCH v5 2/7]:
> - Calculate ps_it from ps_it_times by usinh NSEC_PER_USEC.
> [PATCH v5 3/7]:
> - Calculate als_it from ps_it_times by using NSEC_PER_USEC.
> - Store scale step factor in chip_spec.
> - Fixes sampling_rate to ns + 20 %.
> [PATCH v5 3/7 - 7/7]
> - Changed formatting.
> - Changed some variable names.
>
> - [PATCH v3 4/7] Changed commit message.
> - [PATCH v3 5/7] Use period instead of debounce time. This causes some
> calculations as the period is a time and the chip allows to set a certain
> amount of measurements above/below the threshold, before throwing an
> interrupt.
> - [PATCH v3 6/7] Changed commit message.
>
> changes v4:
> - [PATCH v3 1-3/7] Fix setting correct als_it for vcnl4040.
> - [PATCH v3 5/7] Use MICRO macro.
> Fix values greater than 1 s for the proximity period.
>
> changes v5:
> [PATCH v5 2/7]:
> - Calculate ps_it from ps_it_times by usinh NSEC_PER_USEC.
> [PATCH v5 3/7]:
> - Calculate als_it from ps_it_times by using NSEC_PER_USEC.
> - Store scale step factor in chip_spec.
> - Fixes sampling_rate to ns + 20 %.
> [PATCH v5 3/7 - 7/7]
> - Changed formatting.
> - Changed some variable names.
>
> changes v6:
> Added [PATCH v6 3/8]:
> - Add switch case for IIO_PROXIMITY check.
> [PATCH v5 1/7 - 7/7]
> - Changed formatting.
> [PATCH v5 3/7, 5/7, 6/7, 7/7]
> - Changed loop.
> - Changed some variable names.
>
> Astrid Rost (8):
> [PATCH v6 1/8] iio: light: vcnl4000: Add proximity irq for vcnl4200
> [PATCH v6 2/8] iio: light: vcnl4000: Add proximity ps_it for vcnl4200
> [PATCH v6 3/8] iio: light: vcnl4000: Check type with switch case
> [PATCH v6 4/8] iio: light: vcnl4000: Add als_it for vcnl4040/4200
> [PATCH v6 5/8] iio: light: vcnl4000: add illuminance irq vcnl4040/4200
> [PATCH v6 6/8] iio: light: vcnl4000: Add period for vcnl4040/4200
> [PATCH v6 7/8] iio: light: vcnl4000: Add oversampling_ratio for 4040/4200
> [PATCH v6 8/8] iio: light: vcnl4000: Add calibration bias for 4040/4200
>
> drivers/iio/light/vcnl4000.c | 710 +++++++++++++++++++++++++++++++----
> 1 file changed, 643 insertions(+), 67 deletions(-)
>