这个函数将设备树上的资源填充到平台设备里面,同时创建平台设备,smab 总线设备。
of_platform_populate:
for_each_child_of_node(root, child) {
rc = of_platform_bus_create(child, matches, lookup, parent, true);
if (rc)
break;
}
遍历设备树上的所有设备节点。
of_platform_bus_create:
1.of_dev_lookup
2.of_amba_device_create
3.of_platform_device_create_pdata
对于父设备上如果挂了子设备,再次调用of_platform_bus_create 来创建子设备的设备资源(父子设备节点都有compatible 属性字段)
主要数据结构:
1.of_dev_auxdata
2.platform_device
3.resource
4.platform_object