GPIO-Hog声明的目的和用法

时间:2018-01-18 15:56:40

标签: linux linux-device-driver gpio device-tree

问题

  1. gpio-hog声明的目的和用例是什么?
  2. 'hogged'gpio引脚是否可以与Userspace连接?
  3. 如果'hogged'gpio引脚无法与Userspace接口,那么是否有任何机制可以在dts文件中配置GPIO引脚以进行用户空间交互?
  4. 背景

    我正在尝试配置许多(10+)个GPIO与来自用户空间的低级芯片进行对话。我已经使用sysfs导出轻松地与芯片交谈了,但是内核和编程论坛中的文档让我担心在我们的生产系统中使用这种机制。

    阅读更多内核文档我读到了gpio-hog声明,它似乎是至少初始配置GPIO的理想机制。来自文档:

      

    GPIO占用是一种提供自动GPIO请求的机制   配置作为gpio-controller的驱动程序探测功能的一部分。

    除了设置正确的低级别供应商设置外,我还启用了所需的gpio引脚,并且他们报告了正确的设置。问题是gpio似乎是内核所拥有的,并且不能被任何用户空间工具(如sysfslibgpiod)接口。这使得对我来说基本上没用了,也让我想知道它的真正目的是什么。我正在探索libgpiod作为最后的手段,但文档似乎hogging应该是我使用的机制。

1 个答案:

答案 0 :(得分:2)

  猪的意思 - 采取或使用许多东西以防止其他东西   有人的人

所以基本上gpio-hog属性告诉控制器在启动期间将引脚设置为高/低,并且没有其他驱动程序/用户空间会请求它。

如果您打算在用户空间中使用gpio,则不应该使用gpio-hog