[PATCH v5 0/2] Add LTRF216A Driver

From: Shreeya Patel
Date: Wed Jun 08 2022 - 07:37:16 EST


This patchset adds support for ltrf216a Ambient Light Sensor
and documents the DT bindings for the same.


Changes in v5
- Add power management support.
- Add reset functionality.
- Use readx_poll_timeout() to get data.
- Cleanup some of the redundant code.
- Update int_time_fac after I2C write is successful.
- Rename mutex to lock.
- Use Reverse Xmas tree pattern for all variable definitions.
- Improve error handling messages and add error codes.
- Add one more MODULE_AUTHOR.
- Remove cleardata which was reading data for infrared light.
- Remove patch for deprecated vendor prefix [PATCH v4 3/3].
- Remove deprecated string from DT binding document.

Changes in v4
- Add more descriptive comment for mutex lock
- Fix mutex locking in read_raw()
- Use i2c_smbus_read_i2c_block_data()

Changes in v3
- Use u16 instead of u8 for int_time_fac
- Reorder headers in ltrf216a.c file
- Remove int_time_mapping table and use int_time_available
- Fix indentation in the bindings file.

Changes in v2
- Add support for 25ms and 50ms integration time.
- Rename some of the macros as per names given in datasheet
- Add a comment for the mutex lock
- Use read_avail callback instead of attributes and set the
appropriate _available bit.
- Use FIELD_PREP() at appropriate places.
- Add a constant lookup table for integration time and reg val
- Use BIT() macro for magic numbers.
- Improve error handling at few places.
- Use get_unaligned_le24() and div_u64()
- Use probe_new() callback and devm functions
- Return errors in probe using dev_err_probe()
- Use DEFINE_SIMPLE_DEV_PM_OPS()
- Correct the formula for lux to use 0.45 instead of 0.8
- Add interrupt and power supply property in DT bindings
- Add vendor prefix name as per the alphabetical order.


Shreeya Patel (2):
dt-bindings: Document ltrf216a light sensor bindings
iio: light: Add support for ltrf216a sensor

.../bindings/iio/light/liteon,ltrf216a.yaml | 50 ++
drivers/iio/light/Kconfig | 10 +
drivers/iio/light/Makefile | 1 +
drivers/iio/light/ltrf216a.c | 441 ++++++++++++++++++
4 files changed, 502 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/light/liteon,ltrf216a.yaml
create mode 100644 drivers/iio/light/ltrf216a.c

--
2.30.2