devm_gpiod_get_optional函数的用法

在写显示屏驱动的时候,参考例程里面利用的devm_gpiod_get_optional()函数来获取引脚信息
在driver/gpio/gpiolib-devres.c里面有该函数的定义
devm_gpiod_get_optional函数的用法_第1张图片
可以看到该函数会调用devm_gpiod_get_index_optional()函数,函数原型如下:
devm_gpiod_get_optional函数的用法_第2张图片
该函数调用devm_gpiod_get_index(),函数原型如下:
devm_gpiod_get_optional函数的用法_第3张图片
可以看到该函数会调用gpiod_get_index()函数
所以
devm_gpiod_get_optional(dev,con_id,flags)实际上为gpiod_get_index(dev, con_id, idx, flags);

对使用方法举个例子
假设设备树里面的有使用GPIO子系统,则

	dc-gpios = <gpio 17 GPIO_ACTIVE_HIGH>;
    rst-gpios = <gpio 18 GPIO_ACTIVE_HIGH>;

在驱动里面获取其引脚的方法为
devm_gpiod_get_optional(dev,“dc”,GPIOD_OUT_HIGH);
devm_gpiod_get_optional(dev,“rst”,GPIOD_OUT_HIGH);

有关gpiod的使用方法,可参考链接: link
https://blog.csdn.net/weiqifa0/article/details/105085365/

你可能感兴趣的:(linux,linux)