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! v7 -> v8 - patch3: use MILLI - patch3: add blank line before switch for readibility - patch3: add comment to clarify that aincom adds offset only to pseudo-differential inputs - patch4: single -> single-ended - patch4: reinforce requirements by binding - patch6: use device_for_each_child_node_scoped - patch6: channels templates for AD7194 are const now - patch6: remove update_scan_mode callback function for AD7194 - patch6: add sigma_delta_info to chip_info (explanation in the commit message) - patch6: use different macros for single-ended and differential channels 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 | 19 ++ .../bindings/iio/adc/adi,ad7192.yaml | 95 ++++++ drivers/iio/adc/Kconfig | 11 +- drivers/iio/adc/ad7192.c | 272 ++++++++++++++---- 4 files changed, 346 insertions(+), 51 deletions(-) -- 2.34.1