mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
gpio: TODO: remove the item about the new debugfs interface
The consensus among core GPIO stakeholders seems to be that a new debugfs interface will only increase maintenance burden and will fail to attract users that care about long-term stability of the ABI[1]. Let's not go this way and not add a fourth user-facing interface to the GPIO subsystem. [1] https://lore.kernel.org/all/9d3f1ca4-d865-45af-9032-c38cacc7fe93@pengutronix.de/ Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20250321-gpio-todo-updates-v1-1-7b38f07110ee@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
2eb5dc9a4b
commit
0c6dcc4948
|
|
@ -156,42 +156,6 @@ 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/gpio0
|
||||
/sys/kernel/debug/gpiochip/gpiochip0/gpio1
|
||||
/sys/kernel/debug/gpiochip/gpiochip0/gpio2
|
||||
/sys/kernel/debug/gpiochip/gpiochip0/gpio3
|
||||
...
|
||||
/sys/kernel/debug/gpiochip/gpiochip1
|
||||
/sys/kernel/debug/gpiochip/gpiochip1/gpio0
|
||||
/sys/kernel/debug/gpiochip/gpiochip1/gpio1
|
||||
...
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Moving over to immutable irq_chip structures
|
||||
|
||||
Most of the gpio chips implementing interrupt support rely on gpiolib
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user