设备树中相关函数

1.结构关系

device_node 结构被 device 结构包含

struct device {
...
    struct device_node  *of_node; /* associated device tree node */
...
}

2.相关函数


drivers/of 目录下的相关文件封装了所有的 device dree的设备相关函数


2.1 base


// (1)判断 node 中是否有这个 name 名字的属性,没有就返回 null ☆

const void *of_get_property(const struct device_node *np, const char *name, int *lenp)  




 //(2)判断设备结点是否被使能   Returns 1 if the status property is absent or set to "okay" or "ok", 0 otherwise
int of_device_is_available(const struct device_node *device)

 // (3)判断设备结点的 compatible 属性是否包含compat指定的字符串,有返回1,无返回0
int of_device_is_compatible(const struct device_node *device,const char *compat);

这里写图片描述


2.2 driver


这里写图片描述


这里写图片描述


这里写图片描述


2.3 device


//为dev从 matches 结构数组中找到匹配的描述,返回这个matches中的结构 ---   用于一个驱动支持多种设备的情况
 struct of_device_id *of_match_device(const struct of_device_id *matches,const struct device *dev)


/*1. 将设备树中的内存资源获取到并且映射为虚拟内存 */    // 内存
void __iomem *of_iomap(struct device_node *np, int index)

    // 从设备树获取内存返回内存资源  
    of_address_to_resource(struct device_node *dev, int index,   struct resource *r)


    // 从设备树节点中获取内存资源的起始地址和长度
            of_get_address(struct device_node *dev, int index, u64 *size, unsigned int *flags)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值