of_match_device函数一般用于设备树驱动程序中,用来获取与设备节点相关联的设备驱动程序。 of_match_device函数是Linux内核中的一个函数,用于设备树中设备节点和设备驱动程序之间的匹配。这个函数的作用是通过指定的设备树节点和设备驱动程序的匹配信息进行匹配,如果匹配成功,就返回相应的设备驱动程序。 of_match_device函数...
structdevice_node *of_find_matching_node_and_match(structdevice_node *from,conststructof_device_id *matches,conststructof_device_id `match); 函数参数和返回值含义如下: from:开始查找的节点,如果为 NULL 表示从根节点开始查找整个设备树。 matches:of_device_id 匹配表,也就是在此匹配表里面查找节点。
matches: of_device_id 匹配表,也就是在此匹配表里面查找节点; match: 找到的匹配的 of_device_id; 成功返回找到的节点,失败时返回NULL。 二、获取父子设备节点API 2.1 of_get_parent of_find_node_by_path函数用于获取某一节点的父节点,函数原型: struct device_node *of_get_parent(const struct device_no...
struct device_node *of_find_matching_node_and_match(struct device_node *from,const struct of_device_id *matches, const struct of_device_id **match) 函数参数和返回值含义如下: from:开始查找的节点,如果为 NULL 表示从根节点开始查找整个设备树。 matches: of_device_id 匹配表,也就是在此匹配表里面...
1.4.of_find_compatible_node:根据device_type和compatible两个属性查找指定节点 1.5.of_find_matching_node_and_match:通过of_device_id匹配表查找指定节点 2、查找父子节点OF函数 2.1.of_get_parent:获取指定节点的父节点 2.2.of_get_child:获取制定节点的子节点 ...
探索kernel3.18设备树读取过程以及driver的match过程2 (由于个人原因没按时发布,flag很危险呐) 上一篇探索到了match的过程,1形成了自己的打印函数思路,2知道了dump_stack()函数,3缩小了of读取函数的范围。 本篇则通过dump_stack()函数打印出来的函数一个一个找下去,看会不会找到哪个地方读取of ...
继续跟踪,我们可以看到在kernel-3.18/drivers/base/dd.c文件的__driver_attach函数里已经将of_node信息填写好了,此对比过程暂时不详细描述,也是比较麻烦的这是一个inline函数,并且在driver_match_device(drv, dev)函数里进行的对比,主要是对drv->bus->match(dev, drv)进行了调用,而此函数早已填写好了。通过查找...
1.of_find_node():该函数用于在设备树中查找节点。它接受一个节点路径作为参数,并返回匹配的节点指针。 2.of_match_node():该函数用于在设备树中匹配节点。它接受一个节点指针和一个匹配字符串,并返回匹配的节点路径。 3.of_device_is_compatible():该函数用于检查设备节点的兼容性。它接受一个设备节点指针和一...
int of_alias_get_id(struct device_node *np, const char *stem) 获取节点np对应的aliasid号 struct device_node* of_node_get(struct device_node *node) void of_node_put(struct device_node *node) device node计数增加/减少 const struct of_device_id* of_match_node(const struct of_device_id ...
of_match,},};module_platform_driver(my_device_driver);MODULE_LICENSE("GPL");```在上面的示例中,我们使用`of_property_read_bool`函数来读取设备树节点中名为"enable"的布尔属性。如果属性存在且为真,则`enable`变量将设置为`true`;否则,它将保持`false`。然后,我们根据属性的值执行相应的操作。