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

From: Bartosz Golaszewski
Date: Wed Sep 20 2023 - 08:52:04 EST


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