[PATCH v2 3/5] board_init_f_r(): use static calls
Jerome Forissier
jerome.forissier at linaro.org
Wed Dec 18 16:53:56 CET 2024
Replace the init_sequence_f_r function array by direct calls.
Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
---
common/board_f.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/common/board_f.c b/common/board_f.c
index cebed85ed4d..f47275a2230 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -1016,8 +1016,8 @@ void board_init_f(ulong boot_flags)
/*
* For now this code is only used on x86.
*
- * init_sequence_f_r is the list of init functions which are run when
- * U-Boot is executing from Flash with a semi-limited 'C' environment.
+ * Run init functions which are run when U-Boot is executing from Flash with a
+ * semi-limited 'C' environment.
* The following limitations must be considered when implementing an
* '_f_r' function:
* - 'static' variables are read-only
@@ -1030,18 +1030,14 @@ void board_init_f(ulong boot_flags)
* NOTE: At present only x86 uses this route, but it is intended that
* all archs will move to this when generic relocation is implemented.
*/
-static const init_fnc_t init_sequence_f_r[] = {
-#if !CONFIG_IS_ENABLED(X86_64)
- init_cache_f_r,
-#endif
-
- NULL,
-};
+static void initcall_run_f_r(void)
+{
+ CONFIG_IS_ENABLED(X86_64, (INITCALL(init_cache_f_r);))
+}
void board_init_f_r(void)
{
- if (initcall_run_list(init_sequence_f_r))
- hang();
+ initcall_run_f_r();
/*
* The pre-relocation drivers may be using memory that has now gone
--
2.43.0
More information about the U-Boot
mailing list