summary refs log tree commit diff
path: root/drivers/of
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2018-08-27 08:38:08 -0500
committerRob Herring <robh@kernel.org>2018-09-04 09:59:45 -0500
commitb610e2ff4622794f4472b7b0e899b3320671d909 (patch)
tree0d26c581ca954c083d25554cc09b413b4d3d7cc1 /drivers/of
parent57361846b52bc686112da6ca5368d11210796804 (diff)
downloadlinux-b610e2ff4622794f4472b7b0e899b3320671d909.tar.gz
of/unittest: remove use of node name pointer in overlay high level test
In preparation for removing the node name pointer, it needs to be
removed from of_unittest_overlay_high_level. However, it's not really
correct to use the node name without the unit-address and we should use
the full node name. This most easily done by iterating over the child
nodes with for_each_child_of_node() which is what of_get_child_by_name()
does internally. While at it, we might as well convert the outer loop to
use for_each_child_of_node() too instead of open coding it.

Reviewed-by: Frank Rowand <frank.rowand@sony.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of')
-rw-r--r--drivers/of/unittest.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index 722537e14848..7d0073b640bd 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -2347,11 +2347,14 @@ static __init void of_unittest_overlay_high_level(void)
 		}
 	}
 
-	for (np = overlay_base_root->child; np; np = np->sibling) {
-		if (of_get_child_by_name(of_root, np->name)) {
-			unittest(0, "illegal node name in overlay_base %s",
-				np->name);
-			return;
+	for_each_child_of_node(overlay_base_root, np) {
+		struct device_node *base_child;
+		for_each_child_of_node(of_root, base_child) {
+			if (!strcmp(np->full_name, base_child->full_name)) {
+				unittest(0, "illegal node name in overlay_base %pOFn",
+					 np);
+				return;
+			}
 		}
 	}