From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx> Hello, this patch series adds the driver for the Texas Instruments ADS7924. The Texas Instruments ADS7924 is a 4 channels, 12-bit analog to digital converter (ADC) with an I2C interface. Patch 1 contains the driver for the ADS7924. Patch 2 add the dt-bindings for the ADS7924. I have tested the driver using the Texas Instruments ADS7924EVM board connected to a Variscite Symphony EVK with a IMX8MN NANO SOM: - Tested reset pin Ok - Tested regulator setup Ok - Tested reading sysfs in_voltage_scale Ok - Tested reading sysfs in_voltageX_raw (x=0 to 3) Ok Thank you. Link: [v1] https://lore.kernel.org/linux-iio/20221222203610.2571287-1-hugo@xxxxxxxxxxx/ Link: [v2] https://lore.kernel.org/linux-iio/20230110160124.3853593-1-hugo@xxxxxxxxxxx/ Link: [v3] https://lore.kernel.org/linux-iio/20230113194959.3276433-1-hugo@xxxxxxxxxxx/ Changes for V4: - DT bindings: remove label description. - Remove blank line between datasheet tag and SOB in commit message. - Return value from regulator_get_voltage() - Fix num_channels comparison (cannot be < 0) - Change severity of message to dev_err in ads7924_set_conv_mode(). Changes for V3: - Rebase on linux-6.2-rc1 - Refactor to follow usual coding practices as per review comments. - Fix missing include (reported by kernel test robot). - Fix DT bindings errors. - Removed unused define. - Remove breaks after return. - Remove debug message in ads7924_get_channels_config(). - Remove braces around swich case IIO_CHAN_INFO_RAW. - Remove comments about regulator_get_voltage() failing for dummy regulator. Changes for V2: - Dropped patch "iio: adc: Kconfig: add SPI interface mention to AD7924 description" - Fixed comments style - Removed unused defines/variables/etc related to buffered support (no buffered support for the moment). - Convert of-specific code to use the generic firmware property accessors in include/linux/property.h. - Use FIELD_GET / FIELD_PREP for bit operations/defines - Simplified conversion result registers definitions/usage. - Now using mutex lock/unlock only for INFO_RAW switch branch - Use dev_err_probe() in all return paths of ads7924_probe() - Removed ads7924_remove() after adding callbacks with devm_add_action_or_reset(). - Change iio_device_register() to devm_iio_device_register(). - Add the legacy i2c_device_id table - DT bindings: reorder entries, fix indentation,improve comments, add interrupt line Hugo Villeneuve (2): iio: adc: ti-ads7924: add Texas Instruments ADS7924 driver dt-bindings: iio: adc: add Texas Instruments ADS7924 .../bindings/iio/adc/ti,ads7924.yaml | 110 ++++ MAINTAINERS | 7 + drivers/iio/adc/Kconfig | 11 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/ti-ads7924.c | 474 ++++++++++++++++++ 5 files changed, 603 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml create mode 100644 drivers/iio/adc/ti-ads7924.c base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2 -- 2.30.2