Re: [PATCH v6 03/12] iio: dac: ad5686: acquire lock when doing powerdown control

From: Andy Shevchenko

Date: Tue May 05 2026 - 11:22:14 EST


On Tue, May 05, 2026 at 03:06:31PM +0100, Rodrigo Alencar wrote:
> On 26/05/05 03:58PM, Andy Shevchenko wrote:
> > On Tue, May 05, 2026 at 01:35:04PM +0100, Rodrigo Alencar via B4 Relay wrote:

...

> > > static ssize_t ad5686_read_dac_powerdown(struct iio_dev *indio_dev,
> > > {
> > > struct ad5686_state *st = iio_priv(indio_dev);
> > >
> > > + guard(mutex)(&st->lock);
> > > +
> > > return sysfs_emit(buf, "%d\n", !!(st->pwr_down_mask &
> > > (0x3 << (chan->channel * 2))));
> >
> > Why not use ad5686_get_powerdown_mode() instead?
>
> powerdown mode != powerdown mask. The powerdown mask controls the on-off
> behavior, while the mode controls the possible values for when it is off.

Ah, unfortunate naming collision (easy to mix up them).

> > > }

...

> > > static ssize_t ad5686_write_dac_powerdown(struct iio_dev *indio_dev,
> > > if (ret)
> > > return ret;
> > >
> > > + guard(mutex)(&st->lock);
> > > +
> > > if (readin)
> > > st->pwr_down_mask |= (0x3 << (chan->channel * 2));
> > > else
> >
> > Similar question here...
>
> I suppose the above applies here as well.

Yep, thanks for clarification!

--
With Best Regards,
Andy Shevchenko