Re: [PATCH v3 6/9] iio: dac: ad3552r-hs: use instruction mode for configuration

From: Nuno Sá
Date: Mon Jan 13 2025 - 11:09:42 EST


On Fri, 2025-01-10 at 09:37 -0600, David Lechner wrote:
> On 1/10/25 4:24 AM, Angelo Dureghello wrote:
> > From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
> >
> > Use "instruction" mode over initial configuration and all other
> > non-streaming operations.
> >
> > DAC boots in streaming mode as default, and the driver is not
> > changing this mode.
> >
> > Instruction r/w is still working becouse instruction is processed
>
> s/becouse/because/
>
> > from the DAC after chip select is deasserted, this works until
> > loop mode is 0 or greater than the instruction size.
> >
> > All initial operations should be more safely done in instruction
> > mode, a mode provided for this.
> >
> > Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
> > ---
> >  drivers/iio/dac/ad3552r-hs.c | 22 ++++++++++++++++++++++
> >  1 file changed, 22 insertions(+)
> >
> > diff --git a/drivers/iio/dac/ad3552r-hs.c b/drivers/iio/dac/ad3552r-hs.c
> > index 27949f207d42..991b11702273 100644
> > --- a/drivers/iio/dac/ad3552r-hs.c
> > +++ b/drivers/iio/dac/ad3552r-hs.c
> > @@ -132,6 +132,13 @@ static int ad3552r_hs_buffer_postenable(struct iio_dev
> > *indio_dev)
> >   return -EINVAL;
> >   }
> >  
> > + /* Primary region access, set streaming mode (now in SPI + SDR). */
> > + ret = ad3552r_qspi_update_reg_bits(st,
> > +   
> > AD3552R_REG_ADDR_INTERFACE_CONFIG_B,
> > +    AD3552R_MASK_SINGLE_INST, 0, 1);
> > + if (ret)
> > + return ret;
>
> Do we need to undo this operation before we return in the case of an error
> later in this function?

Seems reasonable to me...

- Nuno Sá