of_find_property函数
时间: 2023-11-19 14:06:27 浏览: 93
`of_find_property()` 函数是用于在设备树节点中查找指定属性的函数,函数原型如下:
```c
const struct property *of_find_property(const struct device_node *np,
const char *name,
int *lenp);
```
参数说明:
- `np`:指向要查找属性的设备树节点。
- `name`:指向要查找的属性名称。
- `lenp`:用于返回属性值的长度。
返回值:
- 成功:返回指向找到的属性的指针。
- 失败:返回 NULL。
函数详细说明:
`of_find_property()` 函数用于在设备树节点 `np` 中查找名称为 `name` 的属性。如果找到对应的属性,则返回指向该属性的指针,同时通过 `lenp` 参数返回属性值的长度。如果找不到对应的属性,则返回 NULL。
示例代码:
以下示例代码演示了如何使用 `of_find_property()` 函数查找设备树节点中的属性:
```c
#include <linux/of.h>
#include <linux/of_device.h>
/* 查找设备树节点中名为 "compatible" 的属性 */
const struct property *prop = of_find_property(dev->of_node, "compatible", NULL);
if (prop) {
pr_info("Property found. Length: %d\n", prop->length);
/* 处理找到的属性 */
} else {
pr_err("Property not found.\n");
}
```
在上述示例代码中,`dev->of_node` 为指向设备节点的指针,`of_find_property()` 函数用于查找该节点中名为 "compatible" 的属性。如果找到该属性,则打印属性的长度,然后可以对其进行进一步处理。如果找不到该属性,则打印错误信息。
阅读全文