The LTC2309 is an 8-Channel, 12-Bit SAR ADC with an I2C Interface. This implements support for all single-ended and differential channels, in unipolar mode only. Signed-off-by: Liam Beguin <liambeguin@xxxxxxxxx> --- Changes in v3: - fix comments, kerneldoc, and i2c_device_id - drop DRIVER_NAME - drop datasheet_name - drop unused i2c clientdata - rework .read_raw() locking, adding utility function - remove reundant parent assignment - use dev_err_probe - update devm_regulator_get_optional() error handling - Link to v2: https://lore.kernel.org/r/20230825-ltc2309-v2-0-6d75f2b3fb50@xxxxxxxxx Changes in v2: - reduce critical section scope to i2c accesses only - fixup .probe() commit - fix unbalanced regulator - rename refcomp to vref - update lltc,2497.yaml instead of duplicating bindings - commit dt-bindings before driver - fix checkpatch --strict warnings - Link to v1: https://lore.kernel.org/r/20230824-ltc2309-v1-0-b87b4eb8030c@xxxxxxxxx --- Liam Beguin (2): dt-bindings: iio: adc: add lltc,ltc2309 bindings iio: adc: add ltc2309 support .../devicetree/bindings/iio/adc/lltc,ltc2497.yaml | 20 +- drivers/iio/adc/Kconfig | 10 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/ltc2309.c | 249 +++++++++++++++++++++ 4 files changed, 275 insertions(+), 5 deletions(-) --- base-commit: a5e505a99ca748583dbe558b691be1b26f05d678 change-id: 20230823-ltc2309-1945e1e94931 Best regards, -- Liam Beguin <liambeguin@xxxxxxxxx>