This post: https://waldorf.waveform.org.uk/2021/the-pins-they- are-a-changin.html should explain things rather more completely than I can here but the TL;DR version is: it would be nice to disable sysfs but there's *way* too much stuff that would break right now if we did (mostly Python GPIO interfaces, but given Python is the "blessed" language for much of the Pi Foundation's output, that's a lot of important stuff to break!).
My hope is that with the addition of lgpio (a "full-featured" library also based on the gpiochip device) in hirsute we should be in a reasonable position to disable that for the LTS next year (maybe impish?). But right now there's too much that'll break. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1918583 Title: Switch to libgpiod and disable CONFIG_GPIO_SYSFS Status in linux package in Ubuntu: Confirmed Bug description: Ubuntu kernels are built with CONFIG_GPIO_SYSFS=y after https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1342153 debian.master/config/config.common.ubuntu: CONFIG_GPIO_SYSFS=y However, this interface got deprecated for removal: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a0910d72afc69b25703f7be9bf7d13f18937a478 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fe95046e960b4b76e73dc1486955d93f47276134 "This marks the (optional) sysfs GPIO ABI as obsolete and schedules it for removal in 2020." https://www.kernel.org/doc/Documentation/gpio/sysfs.txt "THIS ABI IS DEPRECATED, THE ABI DOCUMENTATION HAS BEEN MOVED TO Documentation/ABI/obsolete/sysfs-gpio AND NEW USERSPACE CONSUMERS ARE SUPPOSED TO USE THE CHARACTER DEVICE ABI. THIS OLD SYSFS ABI WILL NOT BE DEVELOPED (NO NEW FEATURES), IT WILL JUST BE MAINTAINED." libgpiod and the use of a character file-based interface is a replacement to the sysfs interface: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ Those two interfaces cannot be used interchangeably and working via libgpiod is not possible when the sysfs interface is used: sudo gpioget gpiochip0 12 gpioget: error reading GPIO values: Device or resource busy sudo gpioinfo | grep 12 line 12: "GPIO12" "sysfs" input active-high [used] It would be good to switch to a newer interface since the old one does not get new features and there is no way to switch to libgpiod besides recompiling the kernel with "CONFIG_GPIO_SYSFS=n" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1918583/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp