scripts: dtc: delete empty node after omit_unused_nodes
A node is empty node if its proplist/label/child both null or both set as deleted. Change-Id: Ia934c58df3305dc9531cc912322eb2728f7af689 Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
This commit is contained in:
@@ -650,6 +650,24 @@ static void fixup_omit_unused_nodes(struct check *c, struct dt_info *dti,
|
||||
{
|
||||
if (node->omit_if_unused && !node->is_referenced)
|
||||
delete_node(node);
|
||||
|
||||
if (node->deleted) {
|
||||
struct node *parent = node->parent;
|
||||
struct node *child;
|
||||
struct label *label;
|
||||
struct property *prop;
|
||||
|
||||
for_each_label(parent->labels, label)
|
||||
return;
|
||||
|
||||
for_each_property(parent, prop)
|
||||
return;
|
||||
|
||||
for_each_child(parent, child)
|
||||
return;
|
||||
|
||||
delete_node(parent);
|
||||
}
|
||||
}
|
||||
ERROR(omit_unused_nodes, fixup_omit_unused_nodes, NULL, &phandle_references, &path_references);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user