Dear maintainers, Thank you all for the feedback! I am submitting the upgraded series of patches for the ad7192 driver. Please consider applying in order. Thank you! v6 -> v7 - patch1: move mutex lock and unlock to protect whole switch statement - patch3: use NANO from units.h - patch3: add comment - patch3: use dev_err_probe - patch4: new patch to add single-channel property - patch5: modify maximum number of channels to include single-ended channels - patch5: add single-channel property to bindings for single-ended channels - patch5: modify example to include single-channel property - patch5: modify channel pattern to "^channel@[0-9a-f]+$" - patch5: modify required properties for channel node - patch6: add function to validate ain channel - patch6: remove function to parse one channel - patch6: single-ended channels are now also configured in the devicetree - patch6: modified some names to reflect the changes v5 -> v6 - protect ad7192_update_filter_freq_avail with lock - better bindings description for AINCOM - the pseudo-differential channels are no longer configured as differential when aincom supply is not present in devicetree, in this case the offset for the channels is set to 0 - because of the above change, there is no longer a need for multiple channel options - correct channels regex in bindings - no need to move chip_info anymore - change names to ad7194_parse_channel/s - add else statement to highlight parse_channels effect v4 -> v5 - add aincom supply as discussed previously https://lore.kernel.org/all/CAMknhBF5mAsN1c-194Qwa5oKmqKzef2khXnqA1cSdKpWHKWp0w@xxxxxxxxxxxxxx/#t - ad7194 differential channels are now dynamically configured in the devicetree v3 -> v4 - drop device properties patch, changes already applied to tree - change bindings and driver such that for AD7194 there are 16 differential channels, by default set to AINx - AINCOM, which can be configured in devicetree however the user likes - corrected mistake regarding positive and negative channel macros: subtract 1 from the number corresponding to AIN input v2 -> v3 - add precursor patch to simply functions to only pass ad7192_state - add patch to replace custom attribute - bindings patch: correct use of allOf and some minor changes to the ad7194 example - add ad7194 patch: - use "ad7192 and similar" - ad7194 no longer needs attribute group - use callback function in chip_info to parse channels - move struct ad7192_chip_info - change position of parse functions - drop clock bindings patch v1 -> v2 - new commit with missing documentation for properties - add constraint for channels in binding - correct pattern for channels - correct commit message by adding "()" to functions - use in_range - use preferred structure in Kconfig Kind regards, Alisa-Dariana Roman (6): iio: adc: ad7192: Use standard attribute dt-bindings: iio: adc: ad7192: Add aincom supply iio: adc: ad7192: Add aincom supply dt-bindings: iio: adc: Add single-channel property dt-bindings: iio: adc: ad7192: Add AD7194 support iio: adc: ad7192: Add AD7194 support .../devicetree/bindings/iio/adc/adc.yaml | 8 + .../bindings/iio/adc/adi,ad7192.yaml | 95 +++++++ drivers/iio/adc/Kconfig | 11 +- drivers/iio/adc/ad7192.c | 245 ++++++++++++++---- 4 files changed, 309 insertions(+), 50 deletions(-) -- 2.34.1