aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/apei/ghes.c8
-rw-r--r--drivers/acpi/apei/hest.c17
-rw-r--r--include/acpi/apei.h1
3 files changed, 18 insertions, 8 deletions
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index f339c0f8369c..b142b94bf8b2 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -77,6 +77,9 @@ struct ghes {
77 }; 77 };
78}; 78};
79 79
80int ghes_disable;
81module_param_named(disable, ghes_disable, bool, 0);
82
80static int ghes_panic_timeout __read_mostly = 30; 83static int ghes_panic_timeout __read_mostly = 30;
81 84
82/* 85/*
@@ -665,6 +668,11 @@ static int __init ghes_init(void)
665 return -EINVAL; 668 return -EINVAL;
666 } 669 }
667 670
671 if (ghes_disable) {
672 pr_info(GHES_PFX "GHES is not enabled!\n");
673 return -EINVAL;
674 }
675
668 rc = ghes_ioremap_init(); 676 rc = ghes_ioremap_init();
669 if (rc) 677 if (rc)
670 goto err; 678 goto err;
diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c
index 181bc2f7bb74..05fee06f4d6e 100644
--- a/drivers/acpi/apei/hest.c
+++ b/drivers/acpi/apei/hest.c
@@ -231,16 +231,17 @@ void __init acpi_hest_init(void)
231 goto err; 231 goto err;
232 } 232 }
233 233
234 rc = apei_hest_parse(hest_parse_ghes_count, &ghes_count); 234 if (!ghes_disable) {
235 if (rc) 235 rc = apei_hest_parse(hest_parse_ghes_count, &ghes_count);
236 goto err; 236 if (rc)
237 237 goto err;
238 rc = hest_ghes_dev_register(ghes_count); 238 rc = hest_ghes_dev_register(ghes_count);
239 if (!rc) { 239 if (rc)
240 pr_info(HEST_PFX "Table parsing has been initialized.\n"); 240 goto err;
241 return;
242 } 241 }
243 242
243 pr_info(HEST_PFX "Table parsing has been initialized.\n");
244 return;
244err: 245err:
245 hest_disable = 1; 246 hest_disable = 1;
246} 247}
diff --git a/include/acpi/apei.h b/include/acpi/apei.h
index e67b523a50e1..d40bc5521fcb 100644
--- a/include/acpi/apei.h
+++ b/include/acpi/apei.h
@@ -18,6 +18,7 @@
18 18
19extern int hest_disable; 19extern int hest_disable;
20extern int erst_disable; 20extern int erst_disable;
21extern int ghes_disable;
21 22
22#ifdef CONFIG_ACPI_APEI 23#ifdef CONFIG_ACPI_APEI
23void __init acpi_hest_init(void); 24void __init acpi_hest_init(void);