mbox series

[v14,0/2] iio: proximity: driver for vcnl3020

Message ID 20200510184537.10335-1-i.mikhaylov@yadro.com (mailing list archive)
Headers show
Series iio: proximity: driver for vcnl3020 | expand

Message

Ivan Mikhaylov May 10, 2020, 6:45 p.m. UTC
Add proximity sensor driver for Vishay vcnl3020. Only on-demand
measurement is supported for now.

Changes from v13:
   1. description change for LED current.

Changes from v12:
   1. forgot to change path inside yaml.

Changes from v11:
   1. minor changes to yaml.

Changes from v10:
   1. add vcnl3020_property struct for optional properties.

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):
  dt-bindings: proximity: provide vcnl3020 device tree binding document
  iio: proximity: Add driver support for vcnl3020 proximity sensor

 .../iio/proximity/vishay,vcnl3020.yaml        |  62 +++++
 drivers/iio/proximity/Kconfig                 |  11 +
 drivers/iio/proximity/Makefile                |   1 +
 drivers/iio/proximity/vcnl3020.c              | 258 ++++++++++++++++++
 4 files changed, 332 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/proximity/vishay,vcnl3020.yaml
 create mode 100644 drivers/iio/proximity/vcnl3020.c

Comments

Jonathan Cameron May 16, 2020, 4:41 p.m. UTC | #1
On Sun, 10 May 2020 21:45:35 +0300
Ivan Mikhaylov <i.mikhaylov@yadro.com> wrote:

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

Great and thanks for your persistence on this driver!
All looks good to me.

I will give time or a dt-bindings review as so far only
Rob's bot as commented.  The look fine to me but as Rob
can certify I'm not very good at reviewing those things!

Thanks,

Jonathan

> 
> Changes from v13:
>    1. description change for LED current.
> 
> Changes from v12:
>    1. forgot to change path inside yaml.
> 
> Changes from v11:
>    1. minor changes to yaml.
> 
> Changes from v10:
>    1. add vcnl3020_property struct for optional properties.
> 
> 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):
>   dt-bindings: proximity: provide vcnl3020 device tree binding document
>   iio: proximity: Add driver support for vcnl3020 proximity sensor
> 
>  .../iio/proximity/vishay,vcnl3020.yaml        |  62 +++++
>  drivers/iio/proximity/Kconfig                 |  11 +
>  drivers/iio/proximity/Makefile                |   1 +
>  drivers/iio/proximity/vcnl3020.c              | 258 ++++++++++++++++++
>  4 files changed, 332 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/proximity/vishay,vcnl3020.yaml
>  create mode 100644 drivers/iio/proximity/vcnl3020.c
>