[PATCH v3 3/5] board_init_f_r(): use static calls

Jerome Forissier
2025-01-03T11:14:01Z

Replace the init_sequence_f_r function array by direct calls.

Signed-off-by: Jerome Forissier <jerome.forissier@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 c2446ba344d..bd04a6eedcd 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -1020,8 +1020,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
@@ -1034,18 +1034,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