Linux kernel 如何启用sysfs“;“出口”;linux-at91 4.14版本用户空间支持的gpio号?

Linux kernel 如何启用sysfs“;“出口”;linux-at91 4.14版本用户空间支持的gpio号?,linux-kernel,linux-device-driver,embedded-linux,bsp,Linux Kernel,Linux Device Driver,Embedded Linux,Bsp,我正在使用SAMA5D27 SoM1 Ek板(微芯片),并且正在使用 我的linux-at91是4.14版本 在这个linux-at91内核中,默认情况下,sysfs gpio导出和用户空间控制支持被删除 如何在sysfs中启用导出gpio?直截了当(但不好)的回答:您需要在启用了CONFIG\u gpio\u sysfs选项的情况下重建内核(=y) 好答案:通过sysfs使用GPIO现在被认为已经过时(从2008年7月开始),不鼓励使用它。这就是为什么它在内核中被默认禁用(在v4.10中)。请

我正在使用SAMA5D27 SoM1 Ek板(微芯片),并且正在使用

我的linux-at91是4.14版本

在这个linux-at91内核中,默认情况下,
sysfs gpio导出
和用户空间控制支持被删除

如何在sysfs中启用导出gpio?

直截了当(但不好)的回答:您需要在启用了
CONFIG\u gpio\u sysfs
选项的情况下重建内核(
=y

好答案:通过sysfs使用GPIO现在被认为已经过时(从2008年7月开始),不鼓励使用它。这就是为什么它在内核中被默认禁用(在v4.10中)。请参见Linus Walleij(Linux内核中的GPIO维护者):


因此,基本上建议现在使用
/dev/gpiochip*
字符设备文件进行GPIO操作(而不是sysfs方式)。例如,您可以从构建用户空间UTIL,并使用它们通过该字符设备测试GPIO。您可能需要编写一些自定义用户空间应用程序,以便通过字符设备为您的特定任务使用GPIO。阅读文件以了解详细信息。这样您就不需要重新构建内核。此外,如前所述,旧的sysfs ABI将在2020年被删除。

您还可以提到用户空间库
libgpiod
,以帮助编写用户空间应用程序。@0andriy谢谢,我不知道这一点。
ARM: defconfig: drop GPIO_SYSFS on multiplatforms

The sysfs ABI to GPIO is marked obsolete and should not be
encouraged. Users should be encouraged to switch to using the
character device.

Let's begin by removing it from the multi defconfigs. Then
as time goes by I can aggressively remove it from other
defconfigs.