Re: [PATCH v2 10/10] gpiolib: remove gpiochip_is_requested()

From: Bartosz Golaszewski
Date: Thu Nov 30 2023 - 12:46:36 EST


On Thu, Nov 30, 2023 at 5:46 PM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Thu, Nov 30, 2023 at 02:46:30PM +0100, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> >
> > We have no external users of gpiochip_is_requested(). Let's remove it
> > and replace its internal calls with direct testing of the REQUESTED flag.
>
> ...
>
> > - cpy = kstrdup(label, GFP_KERNEL);
> > - if (!cpy)
> > - return ERR_PTR(-ENOMEM);
> > + scoped_guard(spinlock_irqsave, &gpio_lock) {
> > + if (!test_bit(FLAG_REQUESTED, &desc->flags))
> > + return NULL;
>
> > + cpy = kstrdup(desc->label, GFP_KERNEL);
> > + if (!cpy)
> > + return ERR_PTR(-ENOMEM);
>
> You just introduced these lines earlier in the series, and here you moved
> them again. With guard() instead it may be kept in a better shape.
>

I wanted to limit the critical section to a minimum hence scoped
variant. And this will go away as soon as we have a desc lock so it's
temporary anyway. What matters to me is how the code looks when
sending it to Torvalds. On the off chance that we don't get the
locking rework merged in time for v6.8, I want this to at least be
under the existing lock.

Bart

> > + }
>
> --
> With Best Regards,
> Andy Shevchenko
>
>