Linux 内核中用于读取设备属性API

打印 上一主题 下一主题

主题 934|帖子 934|积分 2806

这些函数用于访问设备对象中的属性,通常在设备驱动中使用。
device_property_read_boo

  1. device_property_read_bool()
  2. 用于从设备的属性中读取一个布尔值。
  3. int device_property_read_bool(struct device *dev, const char *property_name);
  4. dev:设备指针,指向你希望读取属性的设备对象。
  5. property_name:属性名称,指明你要读取的属性。
  6. 返回值:
  7. 0:表示属性存在且其值为 true(1)。
  8. -ENODATA:表示该属性不存在。
  9. -EINVAL:表示该属性存在但无法解析为布尔值。
  10. 这个函数主要用于在设备的属性表中查找布尔型属性,并返回其值。
复制代码
device_property_read_u32()

  1. device_property_read_u32()
  2. 用于读取一个 u32 类型的设备属性。
  3. int device_property_read_u32(struct device *dev, const char *property_name, u32 *out_value);
  4. 参数:
  5. dev:设备对象指针。
  6. property_name:属性名称。
  7. out_value:读取到的 u32 类型的属性值。
复制代码
device_property_read_string()

  1. device_property_read_string()
  2. 用于读取设备属性中的字符串。
  3. int device_property_read_string(struct device *dev, const char *property_name, const char **out_value);
  4. 参数:
  5. dev:设备对象指针。
  6. property_name:属性名称。
  7. out_value:返回的字符串指针。
复制代码
device_property_read_u64()

  1. device_property_read_u64()
  2. 用于读取一个 u64 类型的设备属性。
  3. int device_property_read_u64(struct device *dev, const char *property_name, u64 *out_value);
  4. 参数:
  5. dev:设备对象指针。
  6. property_name:属性名称。
  7. out_value:读取到的 u64 类型的属性值。
复制代码
device_property_read_int_array()

  1. device_property_read_int_array()
  2. 用于读取设备属性中的整数数组。
  3. int device_property_read_int_array(struct device *dev, const char *property_name, int *out_values, size_t size);
  4. 参数:
  5. dev:设备对象指针。
  6. property_name:属性名称。
  7. out_values:存放读取数据的数组。
  8. size:数组的大小。
复制代码
device_property_count_u32_elems()

  1. device_property_count_u32_elems()
  2. 用于获取设备属性中 u32 元素的数量。
  3. int device_property_count_u32_elems(struct device *dev, const char *property_name);
  4. 参数:
  5. dev:设备对象指针。
  6. property_name:属性名称。
复制代码
device_property_for_each_u32()

  1. device_property_for_each_u32()
  2. 用于遍历设备属性中的 u32 类型数组。
  3. int device_property_for_each_u32(struct device *dev, const char *property_name, void (*callback)(u32));
  4. 参数:
  5. dev:设备对象指针。
  6. property_name:属性名称。
  7. callback:回调函数,用于对每个 u32 元素进行处理。
复制代码
device_property_read_u8()

  1. device_property_read_u8()
  2. 用于读取 u8 类型的设备属性。
  3. int device_property_read_u8(struct device *dev, const char *property_name, u8 *out_value)
复制代码
总结
device_property_read_bool() 只是设备属性 API 的一部分,其他雷同的函数包括读取不同类型数据的函数,如 device_property_read_u32()、device_property_read_string()、device_property_read_u64() 等。这些函数资助设备驱动步伐访问和管理设备的属性,通常用于从设备树、平台设备或其他系统资源中读取硬件设置或状态信息。
使用这些函数,可以方便地访问设备的属性,从而根据设备的设置和状态做出相应的操作。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表