of_property_read_u32_array用法
时间: 2023-08-03 21:03:11 浏览: 131
`of_property_read_u32_array` 是一个用于从设备树中读取无符号 32 位整数数组的函数。它的函数原型如下:
```
int of_property_read_u32_array(const struct device_node *np, const char *propname, u32 *out_values, size_t sz);
```
各参数含义如下:
- `np`:指向 `struct device_node` 结构体的指针,表示设备树节点;
- `propname`:要读取的属性的名称,类型为 `const char *`;
- `out_values`:指向存储读取结果的缓冲区的指针,类型为 `u32 *`;
- `sz`:缓冲区中可以存储的 `u32` 类型数值的个数,类型为 `size_t`。
函数的返回值为读取到的 `u32` 类型数值的个数,如果读取失败,则返回一个负数错误码。
举个例子,假设我们要从设备树节点 `np` 中读取一个名为 "my-property" 的属性,并将其存储在一个 `u32` 类型的数组中,可以使用以下代码:
```
u32 my_property_values[3];
int ret = of_property_read_u32_array(np, "my-property", my_property_values, 3);
if (ret < 0) {
// 读取失败,处理错误
} else {
// 读取成功
}
```
在这个例子中,我们假设 `np` 是一个指向设备树节点的指针,要读取的属性名为 "my-property",缓冲区中可以存储 3 个 `u32` 类型数值。读取成功后,返回值 `ret` 表示实际读取到的数值个数,读取到的数值存储在 `my_property_values` 数组中。
阅读全文