[PATCH 05/19] of: base: move clock init from of_probe() to barebox_register_of()
Sascha Hauer
s.hauer at pengutronix.de
Fri Jun 25 00:25:26 PDT 2021
From: Marco Felsch <m.felsch at pengutronix.de>
This is required for the new deep-probe mechanism. Barebox deep-probe
calls of_probe() very late and so clock drivers using the old
CLK_OF_DECLARE_DRIVER() mechanism are added very late. This would break
the deep-probe approach.
Move of_clk_init() and call it right before of_probe() should have no
impact because of_clk_init() depends only on an unflatten dtb.
Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
Link: https://lore.pengutronix.de/20201021115813.31645-6-m.felsch@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/of/base.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index d0d955f464..723b1fae47 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1707,8 +1707,10 @@ int barebox_register_of(struct device_node *root)
of_set_root_node(root);
of_fix_tree(root);
- if (IS_ENABLED(CONFIG_OFDEVICE))
+ if (IS_ENABLED(CONFIG_OFDEVICE)) {
+ of_clk_init(root, NULL);
return of_probe();
+ }
return 0;
}
@@ -2354,7 +2356,6 @@ int of_probe(void)
of_platform_device_create_root(root_node);
- of_clk_init(root_node, NULL);
of_platform_populate(root_node, of_default_bus_match_table, NULL);
return 0;
--
2.29.2
More information about the barebox
mailing list