of_get_named_gpio的作用
时间: 2023-12-20 16:05:32 浏览: 602
of_get_named_gpio 函数是 Linux 内核中一个用于获取设备树中 GPIO 节点对应 GPIO 编号的函数。
在 Linux 中,设备树是一种描述硬件设备的数据结构,它可以描述硬件设备的各种属性和信息,包括 GPIO 引脚的编号、方向、电平等信息。当驱动程序需要操作 GPIO 引脚时,可以通过设备树中的 GPIO 节点获取 GPIO 编号,从而进行操作。
of_get_named_gpio 函数的作用就是获取设备树中指定名称的 GPIO 节点对应的 GPIO 编号。该函数的原型如下:
```
int of_get_named_gpio(const struct device_node *np, const char *propname, int index);
```
其中,np 参数为指向 GPIO 节点的指针,propname 参数为 GPIO 节点的属性名称,index 参数为 GPIO 节点的索引号。该函数返回 GPIO 编号,如果获取失败则返回错误代码。
需要注意的是,of_get_named_gpio 函数只适用于获取 GPIO 编号,如果需要对 GPIO 引脚进行配置和操作,则需要使用其他函数,例如 gpio_request、gpio_direction_input、gpio_direction_output 等。
相关问题
of_get_gpio_flags和of_get_named_gpio_flags函数区别
of_get_gpio_flags函数用于获取设备树中某个GPIO引脚的flags属性值,该函数的参数是一个设备节点和GPIO编号。如果找到了指定GPIO,该函数会返回该GPIO的flags属性值;否则返回负数。这个函数在内核中定义在drivers/of/gpio.c文件中。
of_get_named_gpio_flags函数同样用于获取设备树中某个GPIO引脚的flags属性值,但是与of_get_gpio_flags函数不同的是,它可以接受一个默认值作为第三个参数,当没有找到指定GPIO时,会返回该默认值。该函数的参数包括设备节点、GPIO名称、以及默认值。这个函数在内核中定义在drivers/of/gpio.c文件中。
error: passing argument 1 of ‘of_get_named_gpio’ from incompatible pointer type [-Werror=incompatible-pointer-types] gpion = of_get_named_gpio(node,"led3",0 );
这个错误提示表明你调用了一个函数,并且参数类型不匹配。具体来说,你传递的第一个参数类型与函数声明中的第一个参数类型不匹配。
在这个例子中,函数是 `of_get_named_gpio()`,它的第一个参数应该是一个指向 `struct device_node` 结构体的指针,但你传递的参数类型可能不正确。
你需要检查你的代码,确保你传递给函数的第一个参数是一个指向 `struct device_node` 结构体的指针。你还可以查看函数声明,确保你正确地使用了函数的参数。你可以尝试将参数转换为正确的类型并重新编译代码。
阅读全文