内核是怎么处理设备树的?
从源代码dts文件开始,设备树的处理过程为:

1. 将 dts 在 PC 端编译成 dtb 文件;
2. uboot 将 dtb 文件给内核,内核将dtb文件的每1个节点都转换成 device_node 结构体;
3. 对于某些 device_node 结构体,会被转换为 platform_device 结构体。

根节点被保存在全局变量 of_root (struct device_node *of_root; )中,从 of_root 开始可以访问到任意节点。
哪些设备树节点会被转换为 platform_device
A. 根节点下含有 compatile 属性的子节点
 B. 含有特定 compatile 属性的节点的子节点:如果一个节点的 compatile 属性,
 它的值是这4者之一:“simple-bus”,“simplemfd”,“isa”,“arm,amba-bus”,
 那么它的子节点(需含 c
 
                       
                             
                         
                             
                             
                           
                           
                             超级会员免费看
超级会员免费看
                                         本文探讨了内核如何处理设备树,包括从of_root访问设备节点,哪些设备树节点会被转换为platform_device,以及platform_device如何与platform_driver配对。详细介绍了平台设备与驱动的匹配过程,以及如何通过设备树节点获取属性值。
本文探讨了内核如何处理设备树,包括从of_root访问设备节点,哪些设备树节点会被转换为platform_device,以及platform_device如何与platform_driver配对。详细介绍了平台设备与驱动的匹配过程,以及如何通过设备树节点获取属性值。
           
                   订阅专栏 解锁全文
                订阅专栏 解锁全文
                 
             
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
                     
              
             
                   796
					796
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
					 
					 
					


 
            