Re: [PATCH v4 0/7] iio: light: vcnl4000: Add features for vncl4040/4200

From: Jonathan Cameron
Date: Sun May 28 2023 - 14:46:00 EST


On Mon, 22 May 2023 16:26:14 +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.

Something odd going on (superficially looks like a rebase mistake in patch 6)

CHECK drivers/iio/amplifiers/ad8366.c
In file included from ./include/linux/bits.h:6,
from ./include/linux/bitops.h:6,
from ./include/linux/kernel.h:22,
from ./arch/x86/include/asm/percpu.h:27,
from ./arch/x86/include/asm/current.h:10,
from ./arch/x86/include/asm/processor.h:17,
from ./arch/x86/include/asm/timex.h:5,
from ./include/linux/timex.h:67,
from ./include/linux/time32.h:13,
from ./include/linux/time.h:60,
from ./include/linux/stat.h:19,
from ./include/linux/module.h:13,
from drivers/iio/light/vcnl4000.c:21:
./include/vdso/bits.h:7:33: warning: initialized field overwritten [-Woverride-init]
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/iio/light/vcnl4000.c:1824:49: note: in expansion of macro ‘BIT’
1824 | .info_mask_separate_available = BIT(IIO_CHAN_INFO_INT_TIME) |
| ^~~
./include/vdso/bits.h:7:33: note: (near initialization for ‘vcnl4040_channels[1].info_mask_separate_available’)
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/iio/light/vcnl4000.c:1824:49: note: in expansion of macro ‘BIT’
1824 | .info_mask_separate_available = BIT(IIO_CHAN_INFO_INT_TIME) |
| ^~~


>
> 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.
>
> Astrid Rost (7):
> [PATCH v4 1/7] iio: light: vcnl4000: Add proximity irq for vcnl4200
> [PATCH v4 2/7] iio: light: vcnl4000: Add proximity ps_it for vcnl4200
> [PATCH v4 3/7] iio: light: vcnl4000: Add als_it for vcnl4040/4200
> [PATCH v4 4/7] iio: light: vcnl4000: add illuminance irq vcnl4040/4200
> [PATCH v4 5/7] iio: light: vcnl4000: Add period for vcnl4040/4200
> [PATCH v4 6/7] iio: light: vcnl4000: Add oversampling_ratio for 4040/4200
> [PATCH v4 7/7] iio: light: vcnl4000: Add calibration bias for 4040/4200
>
> drivers/iio/light/vcnl4000.c | 721 +++++++++++++++++++++++++++++++----
> 1 file changed, 653 insertions(+), 68 deletions(-)
>