在内核模块中使用GPIO

时间:2018-02-27 17:55:25

标签: linux kernel-module

我在编写内核驱动程序方面很安静,而且有很多困扰我的事情。如果你能让我朝着正确的方向前进,那就太好了。

我正在为设备编写一个模块,必须通过将GPIO置于高状态来为其供电。

  1. Documentation / gpio / *中是文本,表示我应该使用 GPIO Framework的基于描述符的新接口 。但是怎么用呢? 当我创建像 #include 这样的包含时 它编译,我可以运行驱动程序。但是使用 gpiod_get(...)只会返回 fffffffffffffffe 。它在某种程度上是有道理的,因为 linux / gpio / consumer.h 中该函数的实现是

  2.   

    static inline struct gpio_desc * __ must_check gpiod_get(struct device   * dev,const char * con_id,enum gpiod_flags flags){           返回ERR_PTR(-ENOSYS);       }

    该函数的实现也存在于 drivers / gpio / devres.c 中。我该如何使用那个?

    在我看来,我不应该使用该实现。

    我希望你可以帮助我,因为它真的很烦人。

1 个答案:

答案 0 :(得分:0)

事实证明,只需要包含文件 gpio / gpiolib ,这会提供额外的定义。