Hi Simon, so 3. 10. 2020 v 19:35 odesÃlatel Simon Glass <s...@chromium.org> napsal: > > Convert a few conditions to use compile-time checks to reduce the number > of build paths. > > Signed-off-by: Simon Glass <s...@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