设备树节点解析为platform_device过程

更新时间:2023-06-26 03:45:17 阅读: 评论:0

设备树节点解析为platform_device过程
device tree中的每个node节点都会被kernel处理⽣成⼀个struct device_node结构体。该结构体⼀般会被包含在struct device结构体中。
点火提前角struct device_node{
nevertheless用法const char *name; //node节点名称
美国达人秀第七季总决赛phandle phandle; //phandle属性值
struct fwnode_handle fwnode;
struct property *properties; //指向节点的第⼀个属性值,其他属性与该属性链表相接
struct kobject kobj;//sysfs⽂件系统⽬录体现四级考试时间安排
void *data;
landscapes}
struct property {
char *name;//属性名称
yobt tvint length; //属性值长度huiguo
void *value; //属性值
struct property *next;//下⼀个属性
struct bin_attribute attr;//属性⽂件,与sysfs⽂件系统挂接
};
解析设备树函数从__unflatten_device_tree开始,unflatten意思为展平
__unflatten_device_tree(initial_boot_params, &of_root,early_init_dt_alloc_memory_arch);
其中,initial_boot_params指向设备树在内存中的⾸地址,of_root经过处理后指向根节点,early_init_dt_alloc_memory_arch是回调函数指针,⽤来为struct device_node和struct property结构体分配空间。
__unflatten_device_tree调⽤两次unflatten_dt_node
第⼀次unflatten_dt_node⽤来协助使⽤early_init_dt_alloc_memory_arch分配内存;第⼆次⽤来填充具体的device_node和property结构体。
所有设备树节点填充device_node和property结构体后,arm使⽤customize_machine函数创建platform_device结构体
怎么样快速美白调⽤of_platform_populate(NULL, of_default_bus_match_table,NULL, NULL); populate意思为填充。
struct platform_device {
const char *name;
struct device dev;chow
u32 num_resources;
struct resource *resource;
const struct platform_device_id *id_entry;
};
struct device {
闪电侠第三季17集struct device_node *of_node;
}

本文发布于:2023-06-26 03:45:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/157867.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:属性   结构   设备   节点
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图