[PATCH v2 00/11] Fixes and cleanups for the AD5686 IIO driver

Rodrigo Alencar via B4 Relay
2026-04-27T11:30:11Z

This is the first series of three on updating the AD5686 driver.

A bigger patch series was sent before ("Extend device support for AD5686 driver"),
but this is not exactly a v2:

https://lore.kernel.org/r/20260422-ad5313r-iio-support-v1-0-ed7dca001d1b@analog.com

This one adds a number of cleanups and fixes, like:
- Refactor include headers (IWYU);
- Remove redundant register definition;
- Drop enum chip id in favor of per-device chip_info structs;
- Fix internal voltage reference control for single-channel devices;
- Acquire lock when doing power down control;
- Fix powerdown control for dual-channel devices;

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
---
Changes in v2:
- Bring fixes first and cleanups later
- Link to v1: https://lore.kernel.org/r/20260426-ad5686-fixes-v1-0-7c946a77794e@analog.com

---
Rodrigo Alencar (11):
iio: dac: ad5686: fix ref bit initialization for single-channel parts
iio: dac: ad5686: fix input raw value check
iio: dac: ad5686: acquire lock when doing powerdown control
iio: dac: ad5686: fix powerdown control on dual-channel devices
iio: dac: ad5686: refactor include headers
iio: dac: ad5686: remove redundant register definition
iio: dac: ad5686: drop enum id
iio: dac: ad5686: add of_match table to the spi driver
iio: dac: ad5686: add control_sync() for single-channel devices
iio: dac: ad5686: cleanup doc header of local structs
iio: dac: ad5686: create bus ops struct

drivers/iio/dac/ad5686-spi.c | 73 ++++--
drivers/iio/dac/ad5686.c | 521 +++++++++++++++++++++----------------------
drivers/iio/dac/ad5686.h | 116 +++++-----
drivers/iio/dac/ad5696-i2c.c | 80 ++++---
4 files changed, 409 insertions(+), 381 deletions(-)
---
base-commit: d86db1905add39f905cf9f04252804b359914ed6
change-id: 20260426-ad5686-fixes-63ea68811bdb

Best regards,
--
Rodrigo Alencar <rodrigo.alencar@analog.com>