[RK3399][Android7.1] 获取gpio函数devm_gpiod_get_optional()

这篇博客主要介绍了在RK3339平台上,Android 7.1系统中如何使用devm_gpiod_get_optional()函数来获取GPIO。通过调用流程分析,该函数实际是对gpiod_get_index的包装,用于从设备树中查找并申请GPIO。重点关注的参数包括连接ID(con_id)和索引(index),其中con_id用于指定GPIO名称,index则根据设备树定义对应具体的GPIO引脚。引用了内核文档作为参考,解释了index如何决定对应的GPIO号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

latform: RK3399
OS: Android 7.1
Board: Firefly-RK3399

调用流程
在看显示模块的代码时看到一个函数devm_gpiod_get_optional(), 之前没接触过,它的调用如下:
devm_gpiod_get_optional ->
 devm_gpiod_get_index_optional -> //index为0
  devm_gpiod_get_index ->
   gpiod_get_index

可以看到devm_gpiod_get_optional只是对gpiod_get_index的包装而已,并且index为0。index参数后面会提。


函数参数

struct gpio_desc *__must_check devm_gpiod_get_index(struct device *dev,
                            const char *con_id,
                            unsigned int idx,
                            enum gpiod_flags flags);

重点关注第二个和第三个参数。

gpiod_get_index()

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值