[PATCH v6 00/12] Fixes and cleanups for the AD5686 IIO driver

Rodrigo Alencar via B4 Relay posted 12 patches 1 month, 1 week ago
There is a newer version of this series
drivers/iio/dac/ad5686-spi.c |  73 ++++--
drivers/iio/dac/ad5686.c     | 542 ++++++++++++++++++++++---------------------
drivers/iio/dac/ad5686.h     | 132 ++++++-----
drivers/iio/dac/ad5696-i2c.c |  80 ++++---
4 files changed, 438 insertions(+), 389 deletions(-)
[PATCH v6 00/12] Fixes and cleanups for the AD5686 IIO driver
Posted by Rodrigo Alencar via B4 Relay 1 month, 1 week ago
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"):

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 v6:
- Protect powerdown masks on read access too.
- Minor changes to power down handling and constants.
- Link to v5: https://lore.kernel.org/r/20260501-ad5686-fixes-v5-0-0b2f45488418@analog.com

Changes in v5:
- Drop I2C read operation changes.
- Create helpers for reading and writing powerdown mask bits
- Link to v4: https://lore.kernel.org/r/20260429-ad5686-fixes-v4-0-bb8f1cbd68e1@analog.com

Changes in v4:
- Address issues spotted by sashiko.
- Link to v3: https://lore.kernel.org/r/20260428-ad5686-fixes-v3-0-9cff7bd67a15@analog.com

Changes in v3:
- Misc changes like parenthesis removal and line breaks
- Link to v2: https://lore.kernel.org/r/20260427-ad5686-fixes-v2-0-188e05199368@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 (12):
      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 helpers to handle powerdown masks
      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     | 542 ++++++++++++++++++++++---------------------
 drivers/iio/dac/ad5686.h     | 132 ++++++-----
 drivers/iio/dac/ad5696-i2c.c |  80 ++++---
 4 files changed, 438 insertions(+), 389 deletions(-)
---
base-commit: 39b80c5c9830d12d2d6531059001301c4265322a
change-id: 20260426-ad5686-fixes-63ea68811bdb

Best regards,
-- 
Rodrigo Alencar <rodrigo.alencar@analog.com>
Re: [PATCH v6 00/12] Fixes and cleanups for the AD5686 IIO driver
Posted by Andy Shevchenko 1 month, 1 week ago
On Tue, May 05, 2026 at 01:35:01PM +0100, Rodrigo Alencar via B4 Relay wrote:
> 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"):
> 
> 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;

> ---
> Changes in v6:
> - Protect powerdown masks on read access too.
> - Minor changes to power down handling and constants.

You were too fast, Jonathan applied some patches already.

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v6 00/12] Fixes and cleanups for the AD5686 IIO driver
Posted by Rodrigo Alencar 1 month, 1 week ago
On 26/05/05 03:59PM, Andy Shevchenko wrote:
> On Tue, May 05, 2026 at 01:35:01PM +0100, Rodrigo Alencar via B4 Relay wrote:
> > 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"):
> > 
> > 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;
> 
> > ---
> > Changes in v6:
> > - Protect powerdown masks on read access too.
> > - Minor changes to power down handling and constants.
> 
> You were too fast, Jonathan applied some patches already.

I understood He had applied the some of the fixes and was to wait on the fix
for the lockless read access issue to proceed. Also, most of the series have
been reviewed already. Indeed, I suppose I've been hurrying up things... will
slow down!
 
-- 
Kind regards,

Rodrigo Alencar
Re: [PATCH v6 00/12] Fixes and cleanups for the AD5686 IIO driver
Posted by Jonathan Cameron 1 month, 1 week ago
On Tue, 5 May 2026 15:29:55 +0100
Rodrigo Alencar <455.rodrigo.alencar@gmail.com> wrote:

> On 26/05/05 03:59PM, Andy Shevchenko wrote:
> > On Tue, May 05, 2026 at 01:35:01PM +0100, Rodrigo Alencar via B4 Relay wrote:  
> > > 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"):
> > > 
> > > 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;  
> >   
> > > ---
> > > Changes in v6:
> > > - Protect powerdown masks on read access too.
> > > - Minor changes to power down handling and constants.  
> > 
> > You were too fast, Jonathan applied some patches already.  
> 
> I understood He had applied the some of the fixes and was to wait on the fix
> for the lockless read access issue to proceed. Also, most of the series have
> been reviewed already. Indeed, I suppose I've been hurrying up things... will
> slow down!
>  

If you do a new version (I didn't have any other comments to add
on the remaining patches) then please just drop the fixes I've applied
off the start and note that the series is dependent on the tag in the
fixes-togreg branch.  No idea if sashiko will cope with that but humans will ;)