This is the second series of three on updating the AD5686 driver. Initially, a big patch series was sent: https://lore.kernel.org/r/[email protected]
Then, the first patch series added fixes and cleanups: https://lore.kernel.org/linux-iio/[email protected]/ This one is introducing new features: - Consume optional reset and correct power supplies; - LDAC GPIO handling (active-low, held low when unused); - SPI bus sync() implementation for batching multiple transfers; - Triggered buffer support, leveraging LDAC and sync() to flush all channel writes atomically; - Gain control support through the scale property. Signed-off-by: Rodrigo Alencar <[email protected]> --- Changes in v4: - Replace anyof+const for enum in dt-bindings. - Address some sashiko's comments. - Use guard(mutex)() in trigger handler and other misc changes. - Link to v3: https://lore.kernel.org/r/[email protected] Changes in v3: - Add range-double property. - Acquire reset control after power-up delay. - Include cleanup.h and use guard(mutex)() in read_raw(). - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - Get reset control deasserted. - Update entire spi_transfer struct rather than individual fields. - Replace udelay() for fsleep() in probe(). - Minor changes addressing further feedback. - Link to v1: https://lore.kernel.org/r/[email protected] --- Rodrigo Alencar (12): dt-bindings: iio: dac: ad5696: add reset/ldac/gain support dt-bindings: iio: dac: ad5696: rework on power supplies dt-bindings: iio: dac: ad5686: add reset/ldac/gain support dt-bindings: iio: dac: ad5686: rework on power supplies iio: dac: ad5686: add support for missing power supplies iio: dac: ad5686: consume optional reset signal iio: dac: ad5686: add ldac gpio iio: dac: ad5686: introduce sync operation iio: dac: ad5686: implement new sync() op for the spi bus iio: dac: ad5686: read_raw/write_raw: use guard(mutex)() iio: dac: ad5686: add triggered buffer support iio: dac: ad5686: add gain control support .../devicetree/bindings/iio/dac/adi,ad5686.yaml | 72 +++++- .../devicetree/bindings/iio/dac/adi,ad5696.yaml | 73 +++++- drivers/iio/dac/Kconfig | 2 + drivers/iio/dac/ad5686-spi.c | 125 +++++++--- drivers/iio/dac/ad5686.c | 251 +++++++++++++++++++-- drivers/iio/dac/ad5686.h | 34 ++- drivers/iio/dac/ad5696-i2c.c | 2 +- 7 files changed, 498 insertions(+), 61 deletions(-) --- base-commit: a50909aa46dec46de3c73235fc15a7d6f763d996 change-id: 20260602-ad5686-new-features-e116c04bddb9 Best regards, -- Rodrigo Alencar <[email protected]>

