linux – 在DeviceTree中命名为GPIO

我正在尝试为嵌入式系统创建设备树,并希望向用户空间公开一些GPIO.这些不是也不应该被内核驱动程序使用.例如,有一个焊接到电路板的USB设备由用户空间驱动程序控制.它有一个GPIO重置线,用户空间库需要访问它.

我希望这些在sysfs的某个地方通过名称公开,这样用户空间就可以访问/ sys / class / gpio / usbreset,而不需要知道神奇的gpio号码并需要专门“导出”它.我已经尝试将其设置为GPIO hog,它初始化GPIO,但其名称不会出现在sysfs中,并且当gpio被占用时无法导出.我知道我可以选择另一种内核驱动程序类型,例如LED,但它不是LED,这对我来说似乎不太干净.

在sysfs中导出命名GPIO的正确方法是什么?

解决方法:

我建议编写一个简单的内核模块来询问GPIO,然后导出一个链接,该链接可以被命名,因此适合您的请求.

https://www.kernel.org/doc/Documentation/gpio/sysfs.txt

从上面的链接:

After the GPIO has been exported, gpiod_export_link() allows creating
symlinks from elsewhere in sysfs to the GPIO sysfs node. Drivers can
use this to provide the interface under their own device in sysfs with
a descriptive name

上一篇:Linux设备模型(三) sysfs 与 attribute


下一篇:linux – procfs和sysfs有什么区别?