【Linux驱动开发】013 与gpio相关的OF函数

一、前言

在上节,我们提供了驱动中gpio子系统相关的API函数,主要用来申请释放gpio、设置gpio输入输出、获取设置gpio的值。

我们进行上述设置的前提是:在驱动程序中需要读取 gpio 属性内容。为此,Linux 内核提供了几个与 GPIO 有关的 OF 函数。


二、gpio相关的OF函数

1、of_gpio_named_count 函数 

用于统计设备树某个属性里面定义了几个 GPIO 信息,要注意的是空的 GPIO 信息也会被统计到:

int of_gpio_named_count(struct device_node *np, const char    *propname) 

  • np:设备节点。
  • propname:要统计的 GPIO 属性。
  • 返回值:正值,统计到的 GPIO 数量;负值,失败。

2、of_gpio_count 函数 

of_gpio_named_count 函数可以统计任意属性的 GPIO 信息,而此函数统计的是 “gpios” 这个属性的 GPIO 数量:

int of_gpio_count(struct device_node *np)

  • np:设备节点。 
  • 返回值:正值,统计到的 GPIO 数量;负值,失败。 

3、of_get_named_gpio 函数 

此函数获取 GPIO 编号,因为 Linux 内核中关于 GPIO 的 API 函数都要使用 GPIO 编号,此函数会将设备树中类似<&gpio5 7 GPIO_ACTIVE_LOW>的属性信息转换为对应的 GPIO 编号,此函数在驱动中使用很频繁!

int of_get_named_gpio(struct device_node *np, const char *propname, int index)

  • np:设备节点。
  • propname:包含要获取 GPIO 信息的属性名。
  • index:GPIO 索引,因为一个属性里面可能包含多个 GPIO,此参数指定要获取哪个 GPIO的编号,如果只有一个 GPIO 信息的话此参数为 0。
  • 返回值:正值,获取到的 GPIO 编号;负值,失败。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kashine

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值