~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/translations/zh_CN/devicetree/overlay-notes.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/translations/zh_CN/devicetree/overlay-notes.rst (Version linux-6.12-rc7) and /Documentation/translations/zh_CN/devicetree/overlay-notes.rst (Version linux-3.10.108)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2 .. include:: ../disclaimer-zh_CN.rst              
  3                                                   
  4 :Original: Documentation/devicetree/overlay-no    
  5                                                   
  6 :翻译:                                          
  7                                                   
  8  司延腾 Yanteng Si <siyanteng@loongson.cn>      
  9                                                   
 10 :校译:                                          
 11                                                   
 12 ==============                                    
 13 设备树覆盖说明                             
 14 ==============                                    
 15                                                   
 16 本文档描述了drivers/of/overlay.c中的    
 17 Documentation/devicetree/dynamic-resolution-no    
 18                                                   
 19 覆盖如何工作                                
 20 ------------                                      
 21                                                   
 22 设备树覆盖的目的是修改内核的实    
 23 由于内核主要处理的是设备,任何    
 24 而如果设备节点被禁用或被全部删    
 25                                                   
 26 让我们举个例子,我们有一个foo板    
 27                                                   
 28     ---- foo.dts -----------------------------    
 29         /* FOO平台 */                           
 30         /dts-v1/;                                 
 31         / {                                       
 32                 compatible = "corp,foo";          
 33                                                   
 34                 /* 共享的资源 */             
 35                 res: res {                        
 36                 };                                
 37                                                   
 38                 /* 芯片上的外围设备 */    
 39                 ocp: ocp {                        
 40                         /* 总是被实例化    
 41                         peripheral1 { ... };      
 42                 };                                
 43         };                                        
 44     ---- foo.dts -----------------------------    
 45                                                   
 46 覆盖bar.dts,                                    
 47 ::                                                
 48                                                   
 49     ---- bar.dts - 按标签覆盖目标位置    
 50         /dts-v1/;                                 
 51         /插件/;                                 
 52         &ocp {                                    
 53                 /* bar外围 */                   
 54                 bar {                             
 55                         compatible = "corp,bar    
 56                         ... /* 各种属性和    
 57                 };                                
 58         };                                        
 59     ---- bar.dts -----------------------------    
 60                                                   
 61 当加载(并按照[1]中描述的方式解    
 62                                                   
 63     ---- foo+bar.dts -------------------------    
 64         /* FOO平台 + bar外围 */               
 65         / {                                       
 66                 compatible = "corp,foo";          
 67                                                   
 68                 /* 共享资源 */                
 69                 res: res {                        
 70                 };                                
 71                                                   
 72                 /* 芯片上的外围设备 */    
 73                 ocp: ocp {                        
 74                         /* 总是被实例化    
 75                         peripheral1 { ... };      
 76                                                   
 77                         /* bar外围 */           
 78                         bar {                     
 79                                 compatible = "    
 80                                 ... /* 各种    
 81                         };                        
 82                 };                                
 83         };                                        
 84     ---- foo+bar.dts -------------------------    
 85                                                   
 86 作为覆盖的结果,已经创建了一个    
 87 如果加载了匹配的设备驱动程序,    
 88                                                   
 89 如果基础DT不是用-@选项编译的,那    
 90 DT中的适当位置。在这种情况下,    
 91 较好的,因为不管标签在DT中出现    
 92                                                   
 93 上面的bar.dts例子被修改为使用目标    
 94                                                   
 95     ---- bar.dts - 通过明确的路径覆盖    
 96         /dts-v1/;                                 
 97         /插件/;                                 
 98         &{/ocp} {                                 
 99                 /* bar外围 */                   
100                 bar {                             
101                         compatible = "corp,bar    
102                         ... /* 各种外围设    
103                 }                                 
104         };                                        
105     ---- bar.dts -----------------------------    
106                                                   
107                                                   
108 内核中关于覆盖的API                       
109 -------------------                               
110                                                   
111 该API相当容易使用。                       
112                                                   
113 1) 调用of_overlay_fdt_apply()来创建和应    
114    错误或一个识别这个覆盖的cookie    
115                                                   
116 2) 调用of_overlay_remove()来删除和清理    
117    而创建的覆盖变更集。不允许删    
118                                                   
119 最后,如果你需要一次性删除所有    
120 它将以正确的顺序删除每一个覆盖    
121                                                   
122 你可以选择注册在覆盖操作中被调    
123 of_overlay_notifier_register/unregister和enum    
124                                                   
125 OF_OVERLAY_PRE_APPLY、OF_OVERLAY_POST_APPLY    
126 的通知器回调可以存储指向覆盖层    
127 续到OF_OVERLAY_POST_REMOVE的通知器回调    
128 知器被调用后,包含覆盖层的内存    
129 的通知器返回错误,内存也会被kfre    
130                                                   
131 drivers/of/dynamic.c中的变更集通知器    
132 覆盖层来触发。这些通知器不允许    
133 覆盖层的内存因移除覆盖层而被释    
134                                                   
135 任何其他保留指向覆盖层节点或数    
136 后,该指针将指向已释放的内存。     
137                                                   
138 覆盖层的用户必须特别注意系统上    
139 盖层节点或数据的指针。任何无意    
140 应用了覆盖后被加载,并且该驱动    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php