举例说明of_count_phandle_with_args函数的使用
时间: 2023-07-16 14:13:55 浏览: 540
vb.rar_VB_vb 进程
`of_count_phandle_with_args` 函数用于在设备树(Device Tree)中查找指定名称的节点,并返回该节点下具有指定属性的子节点数量。
以下是一个使用 `of_count_phandle_with_args` 函数的示例:
```c
#include <linux/of.h>
...
struct device_node *parent_node;
int num_children;
parent_node = of_find_node_by_name(NULL, "parent_node");
if (!parent_node) {
printk(KERN_ERR "Cannot find parent_node\n");
return -ENODEV;
}
num_children = of_count_phandle_with_args(parent_node, "child_node", "arg1", 0);
```
在上述示例中,我们首先通过调用 `of_find_node_by_name` 函数查找名为 "parent_node" 的节点,并将其指针存储在 `parent_node` 变量中。如果未找到该节点,则返回错误。
接下来,我们使用 `of_count_phandle_with_args` 函数来查找名为 "child_node" 的节点,并且该节点必须具有一个名为 "arg1" 的属性,其值为 0。函数返回具有这些属性的子节点数量,并将其存储在 `num_children` 变量中。
请注意,`of_count_phandle_with_args` 函数可以与其他函数一起使用,例如 `of_get_property`,以获取更详细的信息。
阅读全文