Re: [PATCH] gpio: Add TODO item for debugfs interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

On Fri, Dec 4, 2020 at 9:37 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> The idea to create a debugfs to replace the aging and
> dangerous sysfs ABI for hacking and tinkering came up
> on the list.
>
> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

> --- a/drivers/gpio/TODO
> +++ b/drivers/gpio/TODO
> @@ -142,3 +142,39 @@ use of the global GPIO numbers. Once the above is complete, it may
>  make sense to simply join the subsystems into one and make pin
>  multiplexing, pin configuration, GPIO, etc selectable options in one
>  and the same pin control and GPIO subsystem.
> +
> +
> +Debugfs in place of sysfs
> +
> +The old sysfs code that enables simple uses of GPIOs from the
> +command line is still popular despite the existance of the proper
> +character device. The reason is that it is simple to use on
> +root filesystems where you only have a minimal set of tools such
> +as "cat", "echo" etc.
> +
> +The old sysfs still need to be strongly deprecated and removed
> +as it relies on the global GPIO numberspace that assume a strict
> +order of global GPIO numbers that do not change between boots
> +and is independent of probe order.
> +
> +To solve this and provide an ABI that people can use for hacks
> +and development, implement a debugfs interface to manipulate
> +GPIO lines that can do everything that sysfs can do today: one
> +directory per gpiochip and one file entry per line:
> +
> +/sys/kernel/debug/gpiochip/gpiochip0
> +/sys/kernel/debug/gpiochip/gpiochip0/0

.../gpio0?

Might be a better name, if you ever want to create a symlink
to this virtual file (e.g. from the line-name)?

> +/sys/kernel/debug/gpiochip/gpiochip0/1
> +/sys/kernel/debug/gpiochip/gpiochip0/2
> +/sys/kernel/debug/gpiochip/gpiochip0/3

Plus a symlink to the device backing this gpiochip.

> +...
> +/sys/kernel/debug/gpiochip/gpiochip1
> +/sys/kernel/debug/gpiochip/gpiochip1/0
> +/sys/kernel/debug/gpiochip/gpiochip1/1
> +...
> +
> +The exact files and design of the debugfs interface can be
> +discussed but the idea is to provide a low-level access point
> +for debugging and hacking and to expose all lines without the
> +need of any exporting. Also provide ample ammunition to shoot
> +oneself in the foot, because this is debugfs after all.

(let the bikeshedding begin ;-)

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux