@@ -1316,15 +1316,6 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
/* Catalog decompression routine */
imc_decompress_catalog();
- /* Virtual Accelerator Switchboard */
- vas_init();
-
- /* NX init */
- nx_init();
-
- /* Init In-Memory Collection related stuff (load the IMC dtb into memory) */
- imc_init();
-
/* Probe all hardware we have code linked for (PHBs, NPUs etc)*/
probe_hardware();
@@ -926,3 +926,9 @@ static int64_t opal_imc_counters_stop(uint32_t type, uint64_t cpu_pir)
return OPAL_SUCCESS;
}
opal_call(OPAL_IMC_COUNTERS_STOP, opal_imc_counters_stop, 2);
+
+DECLARE_HWPROBE(imc) = {
+ .name = "imc",
+ .probe = imc_init,
+ .deps = NULL
+};
@@ -121,3 +121,11 @@ void nx_init(void)
if (proc_gen == proc_gen_p9)
p9_darn_init();
}
+
+static const char* nx_deps[] = { "vas", NULL };
+
+DECLARE_HWPROBE(nx) = {
+ .name = "nx",
+ .probe = nx_init,
+ .deps = nx_deps
+};
@@ -519,3 +519,9 @@ out:
vas_err("Disabled (failed initialization)\n");
return;
}
+
+DECLARE_HWPROBE(vas) = {
+ .name = "vas",
+ .probe = vas_init,
+ .deps = NULL
+};
Signed-off-by: Stewart Smith <stewart@flamingspork.com> --- core/init.c | 9 --------- hw/imc.c | 6 ++++++ hw/nx.c | 8 ++++++++ hw/vas.c | 6 ++++++ 4 files changed, 20 insertions(+), 9 deletions(-)