Re: [PATCH v8 0/8] New features for the AD5686 IIO driver

Jonathan Cameron <[email protected]>
Newsgroups org.kernel.vger.linux-hardening,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Message-ID <20260719011454.10239afd@jic23-huawei>
On Thu, 16 Jul 2026 13:14:16 +0100
Rodrigo Alencar via B4 Relay <[email protected]> wrote:

> 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]>
Applied 2-8 but with tweaks as called out.  Pushed out as testing, please
check I didn't mess it up.

For 1, hopefully I'll get some time this week to put out a set adding
the defensive check in the i2c layer.  That API is just too weird
today for my liking.

Jonathan

> ---
> Changes in v8:
> - Add nul-check for chip_info match data.
> - Update comments/commit text and other minor changes.
> - Link to v7: https://lore.kernel.org/r/[email protected]
> 
> Changes in v7:
> - Fix return value check of i2c_transfer().
> - Amend refactoring of command/data macros.
> - Link to v6: https://lore.kernel.org/r/[email protected]
> 
> Changes in v6:
> - Refactor command/data macros in favor of FIELD_PREP()
> - Link to v5: https://lore.kernel.org/r/[email protected]
> 
> Changes in v5:
> - Create auxiliary handler for the triggered buffer.
> - Do not allow modification of double_scale in case gain_gpio is not set.
> - Link to v4: https://lore.kernel.org/r/[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 (8):
>       iio: dac: ad5696: properly check i2c_transfer() return value
>       iio: dac: ad5686: missing NULL check on match data
>       iio: dac: ad5686: refactor command/data macros
>       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
> 
>  drivers/iio/dac/Kconfig      |   2 +
>  drivers/iio/dac/ad5686-spi.c | 142 +++++++++++++++++++++-------
>  drivers/iio/dac/ad5686.c     | 217 +++++++++++++++++++++++++++++++++++++++----
>  drivers/iio/dac/ad5686.h     |  52 ++++++++---
>  drivers/iio/dac/ad5696-i2c.c |  18 ++--
>  5 files changed, 355 insertions(+), 76 deletions(-)
> ---
> base-commit: 4c0ecdbdc0d87570f74e656e21d56bae1ab6a8f1
> change-id: 20260602-ad5686-new-features-e116c04bddb9
> 
> Best regards,
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.