[PATCH v10 0/2] iio: proximity: driver for vcnl3020

From: Ivan Mikhaylov
Date: Tue Apr 21 2020 - 15:39:40 EST


Add proximity sensor driver for Vishay vcnl3020. Only on-demand
measurement is supported for now.

Changes from v9:
1. minor changes.
2. pass microamps from dts, not register value.

Changes from v8:
1. add vcnl3020 prefix into get_and_apply_property function.
2. add bsd license into yaml.
3. vishay,led-current-milliamp -> vishay,led-current-microamp.
4. add default value into vishay,led-current-microamp and change
register values into microamps.

Changes from v7:
1. forgot to add Reviewed-by tag.

Changes from v6:
1. minor changes
1.1 remove VCNL_DRV_NAME
1.2 add braces in get_and_apply_property

Changes from v5:
1. add get_and_apply_property function for optional parameters.
2. minor changes.

Changes from v4:
1. add vdd-supply,vddio-supply,interrupts properties into yaml.
2. led-current -> vishay,led-current-milliamp in yaml.
3. add possible values enum list.
4. add bulk_read for result hi/lo registers.
5. add description of vcnl3020_data structure.
6. vcnl3020 id table is removed.
7. make "vishay,led-current-milliamp" optional in yaml and code.

Changes from v3:
1. minor changes.
2. add i2c block to fix dts section in yaml.

Changes from v2:
1. using regmap_read_poll_timeout instead of do-while in measurement
function.
2. change struct i2client* in vcnl3020_data to struct dev*
3. enable REGMAP_I2C in Kconfig

Changes from v1:
1. using regmap interface instead of i2c_smbus_* calls.
2. switch from probe to probe_new.
3. s32/int32_t -> int

Ivan Mikhaylov (2):
iio: proximity: provide device tree binding document
iio: proximity: Add driver support for vcnl3020 proximity sensor

.../bindings/iio/proximity/vcnl3020.yaml | 64 +++++
drivers/iio/proximity/Kconfig | 11 +
drivers/iio/proximity/Makefile | 1 +
drivers/iio/proximity/vcnl3020.c | 235 ++++++++++++++++++
4 files changed, 311 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/proximity/vcnl3020.yaml
create mode 100644 drivers/iio/proximity/vcnl3020.c

--
2.21.1