Re: [PATCH] gpiolib: Avoid side effects in gpio_is_visible()

From: Chris Packham
Date: Mon May 29 2023 - 18:00:42 EST



On 29/05/23 21:07, Linus Walleij wrote:
> On Wed, May 17, 2023 at 12:19 AM Chris Packham
> <Chris.Packham@xxxxxxxxxxxxxxxxxxx> wrote:
>> On 17/05/23 01:57, Linus Walleij wrote:
>>> On Mon, May 15, 2023 at 12:27 AM Chris Packham
>>> <Chris.Packham@xxxxxxxxxxxxxxxxxxx> wrote:
>>>> The crux of the problem is that the irq_desc is created when it hasn't
>>>> been requested.
>>> The right solution to me seems to be to not use gpiod_export()
>>> and not use sysfs TBH.
>> That's not really a feasible solution. I'm dealing with application code
>> that has been happily using the sysfs interface for many years.
> I wonder how many years.
>
> The GPIO sysfs has been deprecated for seven years:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/Documentation/ABI/obsolete/sysfs-gpio?id=fe95046e960b4b76e73dc1486955d93f47276134
>
> My fear is that deprecation is ignored and people still develop stuff
> like this ignoring the fact that the ABI is deprecated.

I can't claim that the code is earlier than that deprecation (maybe
2.6.32 era) but we certainly didn't know about the deprecation when we
started using it. Unfortunately the internet has a long memory so if you
search for Linux GPIOs you'll find plenty of examples that point to the
sysfs ABI as the way that it's done.

Switching to the libgpiod is viable for a few miscellaneous uses (I'll
try to push that from my end), there probably will be a long tail of
code that will continue to use the sysfs ABI.

>
> Yours,
> Linus Walleij