[PATCH 15/20] dm: core: Convert #ifdef to if() in root.c
Michal Simek
monstr at monstr.eu
Wed Nov 4 13:55:50 CET 2020
Hi Simon,
so 3. 10. 2020 v 19:35 odesílatel Simon Glass <sjg at 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 at 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
More information about the U-Boot
mailing list