【发布时间】:2020-07-27 09:01:12
【问题描述】:
我正在尝试在 x86 中编写基于描述符的 GPIO 接口,来自 john madieu 的 Linux 驱动程序开发一书,我了解到
对于基于描述符的接口,在分配和获取 GPIO 的所有权之前,这些 GPIO 必须已映射到某个地方。通过映射,我的意思是它们应该被分配给您的设备,而使用传统的基于整数的接口,您只需要在任何地方获取一个数字并将其作为 GPIO 请求即可。实际上,内核中存在三种映射。
我决定选择“平台数据映射”的方式来映射到内核,为此我已经浏览了文档https://djwong.org/docs/kdoc/driver-api/gpio/board.html。
它提到gpiod_lookup_table 和gpios_table() 可用于更新查找表。为了使用这个功能,我使用
#include <linux/gpio/machine.h>
在我的代码中。但是编译的时候报错:
fatal error: linux/gpio/machine.h: No such file or directory
谁能帮忙解答一下?
我使用的是内核版本 3.10。
【问题讨论】:
-
将您的内核从古代更新为合理的。而你的选择很糟糕。不要在新代码中进行平台数据映射。
标签: linux-kernel linux-device-driver gpio interrupt-handling