
Hi Simon,
so 3. 10. 2020 v 19:35 odesÃlatel Simon Glass sjg@chromium.org napsal:
Convert a few conditions to use compile-time checks to reduce the number of build paths.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/core/root.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/drivers/core/root.c b/drivers/core/root.c index e8df5aebe84..5f10d7a39c7 100644 --- a/drivers/core/root.c +++ b/drivers/core/root.c @@ -50,7 +50,6 @@ void dm_fixup_for_gd_move(struct global_data *new_gd) } }
-#if defined(CONFIG_NEEDS_MANUAL_RELOC) void fix_drivers(void) { struct driver *drv = @@ -129,8 +128,6 @@ void fix_devices(void) } }
-#endif
int dm_init(bool of_live) { int ret; @@ -141,11 +138,11 @@ int dm_init(bool of_live) } INIT_LIST_HEAD(&DM_UCLASS_ROOT_NON_CONST);
-#if defined(CONFIG_NEEDS_MANUAL_RELOC)
fix_drivers();
fix_uclass();
fix_devices();
-#endif
if (IS_ENABLED(CONFIG_NEEDS_MANUAL_RELOC)) {
fix_drivers();
fix_uclass();
fix_devices();
}
This change is causing a hang on the Microblaze system. CONFIG_NEEDS_MANUAL_RELOC is out of Kconfig that's why likely this condition is not handled properly.
U-Boot 2021.01-rc1-00211-g63677927bf26-dirty (Nov 04 2020 - 13:46:33 +0100)
Model: Xilinx MicroBlaze DRAM: 1 GiB Error binding driver 'axi_emac': -12 Error binding driver 'xlnx_gpio': -12 Error binding driver 'xlnx_gpio': -12 Error binding driver 'xlnx_gpio': -12 Error binding driver 'xlnx_gpio': -12 Error binding driver 'xlnx_gpio': -12 Error binding driver 'ns16550_serial': -12 Error binding driver 'gpio_restart': -12 Some drivers failed to bind Error binding driver 'simple_bus': -12 Some drivers failed to bind initcall sequence bffeec9c failed at call 85016230 (err=-12) ### ERROR ### Please RESET the board ###
Thanks, Michal