Re: [PATCH 0/5] iio: dac: ad5758: fix DMA alignment, raw range, offset and 4-20 mA
From: Jonathan Cameron
Date: Sun Sep 20 2026 - 14:41:19 EST
On Fri, 18 Sep 2026 16:22:27 +0100
Nuno Sá <noname.nuno@xxxxxxxxx> wrote:
> On Fri, 2026-09-18 at 21:20 +0900, Arka Mondal wrote:
> > The first attempt to send this series on 2026-09-18 was rejected by
> > the kernel.org mail servers, so it did not reach the lists. The patches
> > are unchanged.
> >
> > This series fixes four bugs in the AD5758 driver, all present since
> > commit 28d1a7ac2a0d ("iio: dac: Add AD5758 support"). The last bug
> > takes two patches, one for the binding and one for the driver.
> >
> > Patch 1 marks the SPI receive buffer __aligned(IIO_DMA_MINALIGN), so
> > it no longer shares a cacheline with other driver state. The 2022
> > conversion of IIO drivers to IIO_DMA_MINALIGN only changed existing
> > ____cacheline_aligned markings, and this driver had none.
> >
> > Patch 2 rejects raw values outside 0 to U16_MAX. Writing -1 currently
> > gives full-scale output.
> >
> > Patch 3 fixes the offset for every range that does not start at 0.
> > The +-20 mA range reports -32 instead of -32768.
> >
> > Patches 4 and 5 fix the 4 mA to 20 mA range. The binding and the
> > driver give it as <4 24000>, which is 4 uA to 24 mA. The data sheet
> > (Rev. B, Table 32) and the original text binding say range code 1010
> > is 4 mA to 20 mA. The old value is still accepted: the binding marks
> > it deprecated and the driver maps it to the corrected range, so
> > existing device trees keep working.
> >
> > Compile tested only; no relevant hardware available. The binding was
> > checked with make dt_binding_check and with test device trees:
> > <4000 20000> and <4 24000> are accepted; <4 20000> is rejected.
> >
> > Arka Mondal (5):
> > iio: dac: ad5758: Fix alignment for DMA safety
> > iio: dac: ad5758: Reject out-of-range raw values
> > iio: dac: ad5758: Fix the offset calculation
> > dt-bindings: iio: dac: adi,ad5758: Fix the 4 mA to 20 mA current range
> > iio: dac: ad5758: Fix the 4 mA to 20 mA current range
> >
> > .../bindings/iio/dac/adi,ad5758.yaml | 4 ++++
> > drivers/iio/dac/ad5758.c | 18 ++++++++++++++----
> > 2 files changed, 18 insertions(+), 4 deletions(-)
> >
> >
> > base-commit: 08df884136f1c1197bab2a27814404fd329d9aac
>
> LGTM,
>
> Reviewed-by: Nuno Sá <nuno.sa@xxxxxxxxxx>
Other than the one thing on the dt-binding that is more policy than anything
else these all look good to me. I'll wait for that to resolve though before
picking these up.
Thanks,
Jonathan