`devm_gpiod_get_optional()` 函数用于在设备模型资源管理框架内,可选地获取一个 GPIO 描述符。它的函数定义如下: c struct gpio_desc *devm_gpiod_get_optional(struct device *dev, const char *con_id, enum gpiod_flags flags); 要使用这个函数,首先需要包含相应的头文件: c include. `#include ` ...
答:gpiod_get_index()本质上和gpio_request()是一个功能,是申请gpio的,只是它是从device tree去查找, 因此看到第二个参数”con_id”是字符串类型,也就是gpio的名字。 例如在显示驱动看到的去查找名字为”enable”的gpio panel-simple.c: panel->enable_gpio = devm_gpiod_get_optional(dev,"enable",0); ...
priv->ulpi_reset = devm_gpiod_get_optional(dev->parent, "reset", GPIOD_ACTIVE_LOW); /* property is optional, don't return error! */ if (priv->ulpi_reset) { /* Toggle ulpi to reset the phy. */ rc = dm_gpio_set_value(priv->ulpi_reset, 1); ...
qcadev->bt_en=devm_gpiod_get_optional(&serdev->dev,"enable", GPIOD_OUT_LOW); if(IS_ERR_OR_NULL(qcadev->bt_en)&& if(IS_ERR(qcadev->bt_en)&& (data->soc_type==QCA_WCN6750|| data->soc_type==QCA_WCN6855)) { dev_err(&serdev->dev,"failed to acquire BT_EN gpio\n"); ...
RK3399 GPIO控制 涉及文件: 选择GPIO4_C6引脚,对该IO引脚进行控制。该引脚在OK3399上做edp屏的pwm背光,不过只在选择主或副屏选择edp显示的情况下才做pwm,默认情况下是做GPIO。 原理图接口如下: 查阅用户资料-原厂资料中的《Rockchip RK3399 TRM V1.4 Part1》文档,检索gpio4c6,查看该引脚的功能复用: 可以...
可以看到devm_gpiod_get_optional只是对gpiod_get_index的包装而已,并且index为0。index参数后面会提。 函数参数: structgpio_desc *__must_check devm_gpiod_get_index(structdevice *dev,constchar*con_id, unsignedintidx,enumgpiod_flags flags); ...
[gpio]devm_gpiod_get_optional用法 2018-08-16 09:54 −... aaronGao 0 12599 optional 2019-12-23 00:08 −optional - 在实际开发中,我们经常会遇到无效值的情况,例如函数并不是总能返回有效值,很多函数正确执行了,但结果却不是合理的值,如果用数学语言开解释的话,就是返回值位于函数解空间之外。
可以看到devm_gpiod_get_optional只是对gpiod_get_index的包装而已,并且index为0。index参数后面会提。 函数参数: structgpio_desc *__must_check devm_gpiod_get_index(structdevice *dev,constchar*con_id, unsignedintidx,enumgpiod_flags flags); ...
qcadev->bt_en=devm_gpiod_get_optional(&serdev->dev,"enable", GPIOD_OUT_LOW); if(IS_ERR_OR_NULL(qcadev->bt_en)&& if(IS_ERR(qcadev->bt_en)&& (data->soc_type==QCA_WCN6750|| data->soc_type==QCA_WCN6855)) { dev_err(&serdev->dev,"failed to acquire BT_EN gpio\n"); ...