[PATCH v3 2/2] of: unittest: treat missing of_root as error instead of fixing up
From: Frank Rowand
Date: Thu Feb 23 2023 - 16:34:51 EST
setup_of() now ensures that of_root node is populated with the
root of a default devicetree. Remove the unittest code that
created of_root if it was missing. Verify that of_root is
valid before attempting to attach the testcase-data subtree.
Signed-off-by: Frank Rowand <frowand.list@xxxxxxxxx>
---
Changes since version 2:
- none
Changes since version 1:
- refresh for 6.2-rc1
- update Signed-off-by
- fix formatting error (leading space) in patch comment
drivers/of/unittest.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index bc0f1e50a4be..006713511c53 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -1469,20 +1469,16 @@ static int __init unittest_data_add(void)
return -EINVAL;
}
- if (!of_root) {
- of_root = unittest_data_node;
- for_each_of_allnodes(np)
- __of_attach_node_sysfs(np);
- of_aliases = of_find_node_by_path("/aliases");
- of_chosen = of_find_node_by_path("/chosen");
- of_overlay_mutex_unlock();
- return 0;
- }
-
EXPECT_BEGIN(KERN_INFO,
"Duplicate name in testcase-data, renamed to \"duplicate-name#1\"");
/* attach the sub-tree to live tree */
+ if (!of_root) {
+ pr_warn("%s: no live tree to attach sub-tree\n", __func__);
+ kfree(unittest_data);
+ return -ENODEV;
+ }
+
np = unittest_data_node->child;
while (np) {
struct device_node *next = np->sibling;
--
Frank Rowand <frowand.list@xxxxxxxxx>