Skip to content

Commit c1cd1e0

Browse files
frowandrobherring
authored andcommitted
of: overlay: correctly apply overlay node with unit-address
Correct existing node name detection when overlay node name has a unit-address. Expected test result is overlay will update the nodes and properties for /testcase-data-2/fairway-1/ride@100/ after this commit. Before this commit: Console error message near end of unittest: OF: Duplicate name in fairway-1, renamed to "ride@100#1" $ cd /proc/device-tree/testcase-data-2/fairway-1/ $ # extra node: ride@100#1 $ ls #address-cells linux,phandle phandle ride@200 #size-cells name ride@100 status compatible orientation ride@100#1 $ cd /proc/device-tree/testcase-data-2/fairway-1/ride@100/ $ ls track@30/incline-up ls: track@30/incline-up: No such file or directory $ ls track@40/incline-up ls: track@40/incline-up: No such file or directory After this commit: Console error message no longer occurs $ cd /proc/device-tree/testcase-data-2/fairway-1/ $ # no extra node: ride@100#1 $ ls #address-cells compatible name phandle ride@200 #size-cells linux,phandle orientation ride@100 status $ cd /proc/device-tree/testcase-data-2/fairway-1/ride@100/ $ ls track@30/incline-up track@30/incline-up $ ls track@40/incline-up track@40/incline-up Signed-off-by: Frank Rowand <[email protected]> Signed-off-by: Rob Herring <[email protected]>
1 parent 60a0004 commit c1cd1e0

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/of/overlay.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,10 @@ static int of_overlay_apply_single_device_node(struct of_overlay *ov,
130130
return -ENOMEM;
131131

132132
/* NOTE: Multiple mods of created nodes not supported */
133-
tchild = of_get_child_by_name(target, cname);
133+
for_each_child_of_node(target, tchild)
134+
if (!of_node_cmp(cname, kbasename(tchild->full_name)))
135+
break;
136+
134137
if (tchild != NULL) {
135138
/* new overlay phandle value conflicts with existing value */
136139
if (child->phandle)

0 commit comments

Comments
 (0)