[PATCH v10 0/2] iio: adc: add Nuvoton NCT7201 ADC driver

Eason Yang posted 2 patches 7 months, 1 week ago
.../bindings/iio/adc/nuvoton,nct7201.yaml     |  70 +++
MAINTAINERS                                   |   7 +
drivers/iio/adc/Kconfig                       |  11 +
drivers/iio/adc/Makefile                      |   1 +
drivers/iio/adc/nct7201.c                     | 501 ++++++++++++++++++
5 files changed, 590 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/nuvoton,nct7201.yaml
create mode 100644 drivers/iio/adc/nct7201.c
[PATCH v10 0/2] iio: adc: add Nuvoton NCT7201 ADC driver
Posted by Eason Yang 7 months, 1 week ago
Change since version 10:
 - Fix comments
 - Add interrupt handler function to call iio_push_event()

Change since version 9:
 - Fix comments
 - Change vin_mask and mask from CPU-endian to little-endian
 - Fix access to restricted __le16

Change since version 8:
 - dev_err_probe(), move the definition from device.h to dev_printk.h
 - Use USEC_PER_MSEC rather than the hard coded value of 1000
 - Use one dev for both regmap and regmap16

Change since version 7:
 - Fix comments
 - Derive dev from the respective regmap
 - Generate the mask from the number of voltage input channels 

Change since version 6:
 - Fix comments
 - Add use_single_read in regmap_config
 - Remove unused definitions
 - Do not shadow the return code by -EIO and let regmap API caller to decide
 - Use simple English in all error messages
 - Use a local variable for the struct device pointers. This increases 
   code readability with shortened lines.
 - Use `fsleep` instead of `mdelay`
 - Use 16 bits type __le16 instead of u8 data[2]

Change since version 5:
 - Fix comments
 - Add NUVOTON NCT7201 IIO DRIVER section in MAINTAINERS
 - Add vdd-supply and vref-supply to the DT example
 - Remove mutex since the regmap should already have an internal lock
 - Remove redundant assigning values
 - Check errors on regmap_write

Change since version 4:
 - Fix comments
 - Add interrupts and reset-gpios to the DT example
 - Use the FIELD_PREP and FIELD_GET
 - Add use_single_write in regmap_config
 - Use regmap_access_table

Change since version 3:
 - Fix comments
 - Don't put nct720"x" in the name, just call it nct7201
 - Remove differential inputs until conversions are finished
 - Add NCT7201_ prefix in all macros and avoid the tables
 - Correct event threshold values in raw units
 - Add with and without interrupt callback function to have the event
   config part and one that doesn't
 - Remove print an error message if regmap_wirte failed case

Change since version 2:
 - Remvoe read-vin-data-size property, default use read word vin data
 - Use regmap instead of i2c smbus API
 - IIO should be IIO_CHAN_INFO_RAW and _SCALE not _PROCESSED
 - Use dev_xxx_probe in probe function and dev_xxx in other functions
 - Use devm_iio_device_register replace of iio_device_register
 - Use guard(mutex) replace of mutex_lock
 - Use get_unaligned_le16 conversion API

Changes since version 1:
 - Add new property in iio:adc binding document
 - Add new driver for Nuvoton NCT720x driver

Eason Yang (2):
  dt-bindings: iio: adc: add NCT7201 ADCs
  iio: adc: add support for Nuvoton NCT7201

 .../bindings/iio/adc/nuvoton,nct7201.yaml     |  70 +++
 MAINTAINERS                                   |   7 +
 drivers/iio/adc/Kconfig                       |  11 +
 drivers/iio/adc/Makefile                      |   1 +
 drivers/iio/adc/nct7201.c                     | 501 ++++++++++++++++++
 5 files changed, 590 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/nuvoton,nct7201.yaml
 create mode 100644 drivers/iio/adc/nct7201.c

-- 
2.34.1