===================================================================
@@ -205,7 +205,7 @@ static int __init setup_hest_disable(cha
__setup("hest_disable", setup_hest_disable);
-void __init acpi_hest_init(void)
+static int __init acpi_hest_init(void)
{
acpi_status status;
int rc = -ENODEV;
@@ -213,7 +213,7 @@ void __init acpi_hest_init(void)
if (hest_disable) {
pr_info(HEST_PFX "Table parsing disabled.\n");
- return;
+ return 0;
}
if (acpi_disabled)
@@ -221,9 +221,10 @@ void __init acpi_hest_init(void)
status = acpi_get_table(ACPI_SIG_HEST, 0,
(struct acpi_table_header **)&hest_tab);
- if (status == AE_NOT_FOUND)
+ if (status == AE_NOT_FOUND) {
+ pr_info(HEST_PFX "Table not found.\n");
goto err;
- else if (ACPI_FAILURE(status)) {
+ } else if (ACPI_FAILURE(status)) {
const char *msg = acpi_format_exception(status);
pr_err(HEST_PFX "Failed to get table, %s\n", msg);
rc = -EINVAL;
@@ -240,7 +241,11 @@ void __init acpi_hest_init(void)
}
pr_info(HEST_PFX "Table parsing has been initialized.\n");
- return;
-err:
+ return 0;
+
+ err:
hest_disable = 1;
+ return rc;
}
+
+subsys_initcall(acpi_hest_init);
===================================================================
@@ -656,8 +656,6 @@ static void acpi_pci_root_remove(struct
void __init acpi_pci_root_init(void)
{
- acpi_hest_init();
-
if (!acpi_pci_disabled) {
pci_acpi_crs_quirks();
acpi_scan_add_handler(&pci_root_handler);
===================================================================
@@ -24,12 +24,6 @@ extern bool ghes_disable;
#define ghes_disable 1
#endif
-#ifdef CONFIG_ACPI_APEI
-void __init acpi_hest_init(void);
-#else
-static inline void acpi_hest_init(void) { return; }
-#endif
-
typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data);
int apei_hest_parse(apei_hest_func_t func, void *data);