Re: [PATCH 3/6 v7] acpi/ghes: Make GHES select ACPI_APEI_PCIEAER
From: Jonathan Cameron <jonathan.cameron@huawei.com>
Date: 2025-11-11 15:42:24
Also in:
linux-acpi, linux-cxl, linux-pci, lkml
On Tue, 4 Nov 2025 19:22:34 +0100 "Fabio M. De Francesco" [off-list ref] wrote:
GHES handles the PCI Express Error Section and also the Compute Express Link (CXL) Protocol Error Section. Two of its functions depend on the APEI PCIe AER logging/recovering support (ACPI_APEI_PCIEAER). Make GHES select ACPI_APEI_PCIEAER and remove the conditional compilation from the body of two static functions that handle the CPER Error Sections mentioned above.
Hi Fabio, I'm not seeing a justification here for the change and there may be APEI platforms without PCI support. So is this just to simplify things or is there a functional reason that it is necessary? Jonathan
quoted hunk ↗ jump to hunk
Signed-off-by: Fabio M. De Francesco <redacted> --- drivers/acpi/apei/Kconfig | 2 ++ drivers/acpi/apei/ghes.c | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-)diff --git a/drivers/acpi/apei/Kconfig b/drivers/acpi/apei/Kconfig index 070c07d68dfb..cdf3cfa233b9 100644 --- a/drivers/acpi/apei/Kconfig +++ b/drivers/acpi/apei/Kconfig@@ -23,6 +23,8 @@ config ACPI_APEI_GHES select ACPI_HED select IRQ_WORK select GENERIC_ALLOCATOR + select PCIEAER + select ACPI_APEI_PCIEAER select ARM_SDE_INTERFACE if ARM64 help Generic Hardware Error Source provides a way to reportdiff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index 97ee19f2cae0..d6fe5f020e96 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c@@ -613,7 +613,6 @@ static bool ghes_handle_arm_hw_error(struct acpi_hest_generic_data *gdata, */ static void ghes_handle_aer(struct acpi_hest_generic_data *gdata) { -#ifdef CONFIG_ACPI_APEI_PCIEAER struct cper_sec_pcie *pcie_err = acpi_hest_get_payload(gdata); if (pcie_err->validation_bits & CPER_PCIE_VALID_DEVICE_ID &&@@ -646,7 +645,6 @@ static void ghes_handle_aer(struct acpi_hest_generic_data *gdata) (struct aer_capability_regs *) aer_info); } -#endif } static BLOCKING_NOTIFIER_HEAD(vendor_record_notify_list);@@ -711,7 +709,6 @@ struct work_struct *cxl_cper_prot_err_work; static void cxl_cper_post_prot_err(struct cxl_cper_sec_prot_err *prot_err, int severity) { -#ifdef CONFIG_ACPI_APEI_PCIEAER struct cxl_cper_prot_err_work_data wd; u8 *dvsec_start, *cap_start;@@ -767,7 +764,6 @@ static void cxl_cper_post_prot_err(struct cxl_cper_sec_prot_err *prot_err, } schedule_work(cxl_cper_prot_err_work); -#endif } int cxl_cper_register_prot_err_work(struct work_struct *work)