Re: [PATCH] gpiolib: extend the critical sections of lookup tables

From: Bartosz Golaszewski
Date: Wed Sep 27 2023 - 03:01:30 EST


On Mon, Sep 25, 2023 at 4:24 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
>
> On Wed, Sep 20, 2023 at 2:51 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> >
> > On Wed, 20 Sep 2023 12:58:58 +0200, Linus Walleij <linus.walleij@xxxxxxxxxx> said:
> > > On Wed, Sep 20, 2023 at 11:33 AM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> > >> On Wed, 20 Sep 2023 11:12:58 +0200, Linus Walleij
> > >> <linus.walleij@xxxxxxxxxx> said:
> > >> > On Wed, Sep 20, 2023 at 10:56 AM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> > >
> > >> > Can we rename this function gpiod_find_lookup_table_locked()
> > >> > as per precedents in the kernel, to indicate that it needs to be
> > >> > called with a lock held?
> > >> >
> > >>
> > >> I think you mean gpiod_find_lookup_table_unlocked() as with this change it
> > >> will no longer take the lock?
> > >
> > > I think the pattern is the one I indicated: *_locked() means the function
> > > is to be called with the appropriate lock held, cf
> > > arch/arm64/kvm/hyp/nvhe/mm.c
> > >
> > > pkvm_create_mappings() takes a lock and then calls
> > > pkvm_create_mappings_locked() which even asserts that
> > > the lock is held.
> > >
> >
> > Ha! I always though the pattern is to call the functions that *DON'T* take
> > the lock _unlocked(). This is what I used in gpiolib-cdev.c or gpio-sim.c.
> >
> > I guess both conventions make sense in some way.
> >
> > Bart
>
> I don't think I will be doing it just now. We don't use this
> convention elsewhere in drivers/gpio/ and we'll have a lot of locking
> reworked soon anyway. We may get to it when that is done.
>
> Bart

If there are no objections, I'd like to queue it this week.

Bart