【问题标题】:fatal error: linux/gpio/machine.h: No such file or directory致命错误:linux/gpio/machine.h:没有这样的文件或目录
【发布时间】: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_tablegpios_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


【解决方案1】:

您需要在您的开发机器上安装 linux-headers-3.10.* 包(取决于您的确切内核版本)。

【讨论】:

  • 感谢您的回复.. 我的 linux_3_10 在 git 存储库中,所以我可以添加或安装头包,请您指导我
  • 如果您使用的是基于 debian 的发行版,您可以运行 sudo apt-get update; sudo apt-cache search linux-headers-3.10*;获取确切的软件包名称并运行命令:sudo apt-get install linux-headers-XX
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 2017-05-09
  • 2021-05-15
  • 2014-10-31
  • 2022-01-11
  • 2021-09-19
相关资源
最近更新 更多