[PATCH v6 0/5] iio: vcnl: Add interrupts support for VCNL4010/20.

From: Mathieu Othacehe
Date: Mon Apr 27 2020 - 05:56:11 EST


Hello,

Here's a v6 taking Jonathan remarks into account. A new patch is added to fix
i2c measure reads. The driver also uses read_avail callback for sampling
frequency.

Thanks,

Mathieu

Changed from v5:
* Fix i2c measure reads that are broken on the current driver for be16
platforms.
* Use read_avail callback for sampling frequency.
* Move scan_index setting to the correct patch.

Changes from v4:
* Rename vcnl4010_in_periodic_mode into vcnl4010_is_in_periodic_mode
and vcnl4010_thr_enabled into vcnl4010_is_thr_enabled.
Also fix bitmask checking in those functions.
* Refactor vcnl4010_write_proxy_samp_freq to loop in the
other direction.

Changes from v3:
* Use i2c_smbus_read_byte_data and i2c_smbus_write_word_data
for read and write functions.
* Rename vcnl4010_prox_threshold to vcnl4010_config_threshold.
* Do not lock i2c accesses as they are already protected.
* Fix a typo in irq name.
* Do not provide ALS sampling frequency operation, as ALS data
are not buffered anymore.
* Return bool in vcnl4010_in_periodic_mode and vcnl4010_thr_enabled
functions.

Changes from v2:
* Rebase on iio testing branch.
* Remove useless test in vcnl4010_probe_trigger.

Changes from v1:
* Split into four different patches.
* Use iio_device_claim_direct_mode to protect
raw access from buffer capture.
* Requesting a sampling frequency above the limit is no longer possible.
* Inline read_isr and write_isr functions.
* Remove IIO_LIGHT data from buffer capture.
* Make sure postenable and predisable functions respect the common form.
* Do not set the trigger by default.
* Remove the devm_iio_triggered_buffer_setup top half.

Mathieu Othacehe (5):
iio: vcnl4000: Fix i2c swapped word reading.
iio: vcnl4000: Factorize data reading and writing.
iio: vcnl4000: Add event support for VCNL4010/20.
iio: vcnl4000: Add sampling frequency support for VCNL4010/20.
iio: vcnl4000: Add buffer support for VCNL4010/20.

drivers/iio/light/Kconfig | 2 +
drivers/iio/light/vcnl4000.c | 753 ++++++++++++++++++++++++++++++++---
2 files changed, 689 insertions(+), 66 deletions(-)

--
2.26.0