1.2 of_find_node_by_type of_find_node_by_type函数通过设备节点类型获取设备节点,函数原型: struct device_node *of_find_node_by_type(struct device_node *from, const char *type); 其中: from:指定要搜索设备节点的起始位置。若为NULL,则从根节点开始搜索; type:要查找的设备节点的类型,device_type属...
设备树的处理过程是:dtb -> device_node -> platform_device。 2.1.1 处理 DTB of_fdt.h // dtb 文件的相关操作函数, 我们一般用不到,// 因为 dtb 文件在内核中已经被转换为 device_node 树(它更易于使用) 2.1.2 处理 device_node of.h // 提供设备树的一般处理函数,// 比如 of_property_read_u32...
of_find_matching_node_and_match of_find_matching_node_and_match通过 of_device_id 匹配表来查找指定的节点,函数原型如下: structdevice_node *of_find_matching_node_and_match(structdevice_node *from,conststructof_device_id *matches,conststructof_device_id `match); 函数参数和返回值含义如下: from:...
1. 1 of_find_node_by_name of_find_node_by_name 函数通过节点名字查找指定的节点,函数原型如下: struct device_node *of_find_node_by_name(struct device_node *from, const char *name); 函数参数和返回值含义如下: from:开始查找的节点,如果为 NULL 表示从根节点开始查找整个设备树。 name:要查找的节...
staticinlinestructdevice_node *of_find_node_by_path(constchar*path) 参数path就是要操作的节点路径,由于backlight是在根节点下面,就可以直接指定,所以这个函数是我们最长用到。但是如果我们不太清楚其具体路径,还有个通过指定名称来查找的 externstructdevice_node *of_find_node_by_name(structdevice_node *from...
1、查找节点的OF函数 Linux内核使用device_node结构体来描述一个节点,此结构体定义在文件include/linux/of.h 1.1. of_find_node_by_name:通过节点名字查找指定节点 1.2. of_find_node_by_type:通过device_type属性查找指定节点 1.3. of_find_node_by_path:通过路径查找指... ...
我们实际上要调用of_find_node_by_path等一系列函数从设备树上获取资源,返回值用上面的device_node来接收。然后将device_node里面拿到的真实的物理地址进行虚拟地址映射,得到虚拟地址放在上面的结构体成员里面。然后就像裸机里面一样了,进行硬件初始化工作,给应用层提供一些接口。
node-name:节点名字 unit-address:单元地址 label 是标号,可以省略。label 的作用是为了方便地引用 node。比如: 6.jpg 可以使用下面 2 种方法来修改 uart@fe001000 这个 node: 7.jpg 2、属性格式 简单地说, properties 就是“name=value”, value 有多种取值方式。示例: ...
struct device_node *of_find_node_by_name(struct device_node *from, const char *name); //from:开始查找的节点,NULL表示从根节点开始查找整个设备树 //name:要查找的节点名字 //返回值:找到的节点,NULL表示查找失败 1. 2. 3. 4. ⏩ of_find_node_by_type:通过device_type属性查找指定的节点 ...
label: node-name@unit-address 其中: label:标号 node-name:节点名字 unit-address:单元地址 label 是标号,可以省略。label 的作用是为了方便地引用 node。比如: 可以使用下面 2 种方法来修改 uart@fe001000 这个 node: 2、属性格式 简单地说, properties 就是“name=value”, value 有多种取值方式。示例: ...