[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