DRM图形显示架构的of_property_count_u32_elems怎么使用
时间: 2023-08-04 19:02:45 浏览: 200
DRM_system.zip_DRM_drm system_sub
函数 `of_property_count_u32_elems` 是用于获取设备树节点中指定属性的值的元素数量的函数。该函数在 Linux 内核中的设备树框架中使用。函数原型如下:
```
int of_property_count_u32_elems(const struct device_node *np,
const char *propname);
```
其中,参数 `np` 是指定设备节点的指针;参数 `propname` 是指定属性的名称。
函数返回值是指定属性的值的元素数量,如果该属性不存在或者属性的值的类型不是 `u32`,则返回 0。
以下是一个示例代码,用于获取设备节点 `/soc/display@11c0000` 的 `data-lanes` 属性的值的元素数量:
```
#include <linux/of.h>
struct device_node *np;
int count;
np = of_find_node_by_path("/soc/display@11c0000");
count = of_property_count_u32_elems(np, "data-lanes");
if (count) {
// 如果属性存在,则在这里进行处理
// ...
}
of_node_put(np); // 记得释放设备节点
```
这里的 `of_find_node_by_path` 函数用于获取设备节点 `/soc/display@11c0000` 的指针,然后 `of_property_count_u32_elems` 函数用于获取该节点的 `data-lanes` 属性的值的元素数量。如果属性存在,则可以在代码中对该属性进行处理。
需要注意的是,该函数只能用于获取 `u32` 类型的属性值的元素数量,在使用该函数时,需要仔细查看设备树中的节点定义,确保参数的正确性。
阅读全文