From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> Link: https://lore.pengutronix.de/20201021115813.31645-6-m.felsch@xxxxxxxxxxxxxx Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- 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 549a0a2c2c..7b3cfa8393 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1707,8 +1707,10 @@ void 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); of_probe(); + } } void barebox_register_fdt(const void *dtb) @@ -2335,7 +2337,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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox