x86: Convert arch_fsp_init() to use events
Convert this to use events instead of calling a function directly in the
init sequence.
Rename it to arch_fsp_init_f() to distinguish it from the one that happens
after relocation.
For FSPv2 nothing needs to be done here, so drop the empty function.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/arch/x86/lib/fsp1/fsp_common.c b/arch/x86/lib/fsp1/fsp_common.c
index 2092617..df18f47 100644
--- a/arch/x86/lib/fsp1/fsp_common.c
+++ b/arch/x86/lib/fsp1/fsp_common.c
@@ -101,3 +101,4 @@
return 0;
}
+EVENT_SPY_SIMPLE(EVT_FSP_INIT_F, arch_fsp_init);
diff --git a/arch/x86/lib/fsp2/fsp_common.c b/arch/x86/lib/fsp2/fsp_common.c
index 20c3f64..d802a86 100644
--- a/arch/x86/lib/fsp2/fsp_common.c
+++ b/arch/x86/lib/fsp2/fsp_common.c
@@ -8,11 +8,6 @@
#include <init.h>
#include <asm/fsp/fsp_support.h>
-int arch_fsp_init(void)
-{
- return 0;
-}
-
void board_final_cleanup(void)
{
u32 status;
diff --git a/common/board_f.c b/common/board_f.c
index a485ba6..46008ba 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -855,9 +855,7 @@
#if defined(CONFIG_CONSOLE_RECORD_INIT_F)
console_record_init,
#endif
-#if defined(CONFIG_HAVE_FSP)
- arch_fsp_init,
-#endif
+ INITCALL_EVENT(EVT_FSP_INIT_F),
arch_cpu_init, /* basic arch cpu dependent setup */
mach_cpu_init, /* SoC/machine dependent CPU setup */
initf_dm,
diff --git a/common/event.c b/common/event.c
index 55f6932..8a61908 100644
--- a/common/event.c
+++ b/common/event.c
@@ -35,6 +35,7 @@
/* init hooks */
"misc_init_f",
+ "fsp_init_r",
/* Fpga load hook */
"fpga_load",
diff --git a/include/event.h b/include/event.h
index b2cfd65..85269aa 100644
--- a/include/event.h
+++ b/include/event.h
@@ -32,6 +32,15 @@
/* Init hooks */
EVT_MISC_INIT_F,
+ /*
+ * Emitted before relocation to set up Firmware Support Package
+ *
+ * Where U-Boot relies on binary blobs to handle part of the system
+ * init, this event can be used to set up the blobs. This is used on
+ * some Intel platforms
+ */
+ EVT_FSP_INIT_F,
+
/* Fpga load hook */
EVT_FPGA_LOAD,
diff --git a/include/init.h b/include/init.h
index 3bf3047..1bf76e4 100644
--- a/include/init.h
+++ b/include/init.h
@@ -58,17 +58,6 @@
int mach_cpu_init(void);
/**
- * arch_fsp_init() - perform firmware support package init
- *
- * Where U-Boot relies on binary blobs to handle part of the system init, this
- * function can be used to set up the blobs. This is used on some Intel
- * platforms.
- *
- * Return: 0
- */
-int arch_fsp_init(void);
-
-/**
* arch_fsp_init() - perform post-relocation firmware support package init
*
* Where U-Boot relies on binary blobs to handle part of the system init, this