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

From: Jonathan Cameron
Date: Sat Feb 22 2025 - 10:26:03 EST


On Fri, 21 Feb 2025 17:09:16 +0800
Eason Yang <j2anfernee@xxxxxxxxx> wrote:

Hi Eason,

Not sure if I asked this before, but this is a device that seems
to be typically used for hardware monitoring and there are a number
of similar sounding device in drivers/hwmon/

That raises a couple of questions:
1) Is it compatible with any of those existing drivers?
2) Why IIO rather than HWMON?

There isn't normally a problem with having a hardware monitoring
related device supported by IIO, it is just good to know if your
usecase makes that a good idea. We have the iio-hwmon bridge
driver to solve the problem of a device than can be used either
as a generic ADC or as a hwmon type monitoring device (which tends
to have more alarms etc)

Jonathan


> 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 | 57 ++
> MAINTAINERS | 2 +
> drivers/iio/adc/Kconfig | 11 +
> drivers/iio/adc/Makefile | 1 +
> drivers/iio/adc/nct7201.c | 487 ++++++++++++++++++
> 5 files changed, 558 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/nuvoton,nct7201.yaml
> create mode 100644 drivers/iio/adc/nct7201.c
>