of_find_property

drivers/of/base.c

struct property *of_find_property(const struct device_node *np, const char *name, int *lenp);

-------------------------------------

ex:

prop = of_find_property(np, name, NULL);

deivce和device_driver的comaptible匹配,获得device_node, of_find_property调用__of_find_property从device_node节点遍历子节点名称,最终比较是调用strcasecmp比较,也就是忽略字符串大小的比较,成功返回一个property结构指针。

.

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`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" 的属性。如果找到该属性,则打印属性的长度,然后可以对其进行进一步处理。如果找不到该属性,则打印错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值