Linux kernel Linux GPIOs处理

Linux kernel Linux GPIOs处理,linux-kernel,linux-device-driver,gpio,sysfs,Linux Kernel,Linux Device Driver,Gpio,Sysfs,我对Linux内核和GPIOs有一些疑问。我知道在Linux中,一切都是文件,所以当我做类似的事情时 echo 30 > /sys/class/gpio/export 及 到底发生了什么?我是说sysfs是如何处理的?它是否调用gpiolib中实现的系统调用?以这种方式注册value属性: static const DEVICE_ATTR(value, 0644, gpio_value_show, gpio_value_store); 它创建一个名为value的设备属性,具有644权

我对Linux内核和GPIOs有一些疑问。我知道在Linux中,一切都是文件,所以当我做类似的事情时

echo 30 > /sys/class/gpio/export

到底发生了什么?我是说sysfs是如何处理的?它是否调用gpiolib中实现的系统调用?

以这种方式注册value属性:

 static const DEVICE_ATTR(value, 0644, gpio_value_show, gpio_value_store);
它创建一个名为
value
的设备属性,具有
644
权限;读取时调用
gpio\u值\u显示
,写入时调用
gpio\u值\u存储


sysfs所做的是将
读取
写入
重定向到sysfs属性的相应函数。

有关sysfs和GPIOs的良好用法,请参阅以下答案:
 static const DEVICE_ATTR(value, 0644, gpio_value_show, gpio_value_store);