On Tue,  4 Nov 2025 19:22:34 +0100
"Fabio M. De Francesco" <[email protected]> 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

> 
> Signed-off-by: Fabio M. De Francesco <[email protected]>
> ---
>  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 report
> diff --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)


Reply via email to