summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvidiu Panait <ovidiu.panait@windriver.com>2022-05-02 18:34:56 +0300
committerTom Rini <trini@konsulko.com>2022-05-11 09:22:24 -0400
commit13ae36cc8d3dfc09765db261f38fbf5992ec7b3f (patch)
treeb9644f71e24dfdda1a92be79b3623e01e9f3cfd6
parent54a54a63139e6986da579ef5be984eb3e67cffb1 (diff)
board_r: use IS_ENABLED(CONFIG_NEEDS_MANUAL_RELOC) in board_init_r()
Drop CONFIG_NEEDS_MANUAL_RELOC ifdefs in board_init_r() and use IS_ENABLED() instead. Also, use the MANUAL_RELOC() macro to update the initcall pointers. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
-rw-r--r--common/board_r.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/common/board_r.c b/common/board_r.c
index 93c9c2e50d..6f4aca2077 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -61,6 +61,7 @@
#include <wdt.h>
#include <asm-generic/gpio.h>
#include <efi_loader.h>
+#include <relocate.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -810,19 +811,15 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
if (CONFIG_IS_ENABLED(X86_64) && !IS_ENABLED(CONFIG_EFI_APP))
arch_setup_gd(new_gd);
-#ifdef CONFIG_NEEDS_MANUAL_RELOC
- int i;
-#endif
-
#if !defined(CONFIG_X86) && !defined(CONFIG_ARM) && !defined(CONFIG_ARM64)
gd = new_gd;
#endif
gd->flags &= ~GD_FLG_LOG_READY;
-#ifdef CONFIG_NEEDS_MANUAL_RELOC
- for (i = 0; i < ARRAY_SIZE(init_sequence_r); i++)
- init_sequence_r[i] += gd->reloc_off;
-#endif
+ if (IS_ENABLED(CONFIG_NEEDS_MANUAL_RELOC)) {
+ for (int i = 0; i < ARRAY_SIZE(init_sequence_r); i++)
+ MANUAL_RELOC(init_sequence_r[i]);
+ }
if (initcall_run_list(init_sequence_r))
hang();