dtc工具解析

来源:互联网 发布:163博客相册没有数据 编辑:程序博客网 时间:2024/06/05 03:53

/kernel/scripts/dtc/livetree.c

merge_nodes

-->delete_property_by_name

-->delete_node_by_name

     -->delete_node

 

 

 void delete_node(struct node *node)

287 {

288         struct property *prop;

289         struct node *child;

290

291         node->deleted = 1;

292         for_each_child(node, child)

293                 delete_node(child);

294         for_each_property(node, prop)

295                 delete_property(prop);

296         delete_labels(&node->labels);

297 }

 

/kernel/scripts/dtc/dtc-lexer.l

 

127<*>"/delete-property/"  {

128                         DPRINT("Keyword:/delete-property/\n");

129                        DPRINT("<PROPNODENAME>\n");

130                         BEGIN(PROPNODENAME);

131                         return DT_DEL_PROP;

132                 }

133

134<*>"/delete-node/"      {

135                         DPRINT("Keyword:/delete-node/\n");

136                        DPRINT("<PROPNODENAME>\n");

137                         BEGIN(PROPNODENAME);

138                         return DT_DEL_NODE;

139                 }

 

 

dtc-parser.y:66:%tokenDT_DEL_NODE

dtc-parser.y:158:       | devicetree DT_DEL_NODE DT_REF ';'

                                                 -->delete_node()

0 0