Hello, here is a patchset updating the existing max1027.c driver (for 10-bit max1027/29/31 ADCs) with a few corrections/improvements and then introducing their 12-bit cousins named max1227/29/31. As on my hardware setup the "start conversion" and "end of conversion" pin are not wired (which is absolutely fine for this chip), I also updated the driver and the bindings to support optional interrupts. In this case, triggered buffers are not available and the user must poll the value from sysfs. Thanks, Miquèl Changes in v3: ============== * Updated the commit message of the patch adding debugfs read access to better explain why I decided to limit the number of bytes read to two. * Updated the macros to define the number of channels per device as proposed by Jonathan. * Re-used the realbits entry instead of adding my own (called .depth). * Started doing DT-bindings yaml conversion, but realized that after the first patch offering the interrupt as optional, the documentation was fitting pretty well the trivial devices representation. Dropped the specific bindings files and updated the trivial devices list instead. Changes in v2: ============== * Removed the addition of three compatibles from patch 4 (the preparation patch) to add these lines back in patch 5 (the actual introduction). Miquel Raynal (8): iio: adc: max1027: Add debugfs register read support iio: adc: max1027: Make it optional to use interrupts iio: adc: max1027: Reset the device at probe time iio: adc: max1027: Prepare the introduction of different resolutions iio: adc: max1027: Introduce 12-bit devices support dt-bindings: iio: adc: max1027: Mark interrupts as optional dt-bindings: Add 1027/1029/1031 SPI ADCs as trivial devices dt-bindings: Add max12xx SPI ADC series as trivial devices .../bindings/iio/adc/max1027-adc.txt | 12 +- .../devicetree/bindings/trivial-devices.yaml | 12 ++ drivers/iio/adc/Kconfig | 4 +- drivers/iio/adc/max1027.c | 180 +++++++++++------- 4 files changed, 135 insertions(+), 73 deletions(-) -- 2.20.1