[PATCH 03/15] iio: adc: axp288_adc: do not use internal iio_dev lock
Andy Shevchenko
andy.shevchenko at gmail.com
Tue Sep 20 06:37:19 PDT 2022
On Tue, Sep 20, 2022 at 4:18 PM Sa, Nuno <Nuno.Sa at analog.com> wrote:
> > On Tue, Sep 20, 2022 at 2:28 PM Nuno Sá <nuno.sa at analog.com> wrote:
...
> > > info = iio_priv(indio_dev);
> > > + mutex_init(&info->lock);
> > > info->irq = platform_get_irq(pdev, 0);
> > > if (info->irq < 0)
> > > return info->irq;
> >
> > Consider initializing it as late as possible, like after IRQ retrieval
> > in this context (maybe even deeper, but no context available). Ditto
> > for the rest of the series.
>
> Any special reason for it (maybe related to lockdep :wondering: ) ? Just
> curious as I never noticed such a pattern when initializing mutexes.
Yes. Micro-optimization based on the rule "don't create a resource in
case of known error".
OTOH, you have to be sure that the mutex (and generally speaking a
locking) should be initialized early enough.
--
With Best Regards,
Andy Shevchenko
More information about the Linux-rockchip
mailing list