On Thu, Aug 11, 2022 at 09:17:13AM +0000, Jia He wrote: > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > index d91ad378c00d..ed6519f3d45b 100644 > --- a/drivers/acpi/apei/ghes.c > +++ b/drivers/acpi/apei/ghes.c > @@ -94,6 +94,8 @@ > #define FIX_APEI_GHES_SDEI_CRITICAL __end_of_fixed_addresses > #endif > > +ATOMIC_NOTIFIER_HEAD(ghes_report_chain); static. You need function wrappers which call the notifier from the module. Also, why atomic? x86_mce_decoder_chain is a blocking one. Also, the whole notifier adding thing needs to be a separate patch. > @@ -1497,3 +1504,37 @@ void __init acpi_ghes_init(void) > else > pr_info(GHES_PFX "Failed to enable APEI firmware first mode.\n"); > } > + > +/* > + * Known x86 systems that prefer GHES error reporting: > + */ > +static struct acpi_platform_list plat_list[] = { > + {"HPE ", "Server ", 0, ACPI_SIG_FADT, all_versions}, > + { } /* End */ > +}; > + > +struct list_head *ghes_get_devices(bool force) > +{ > + int idx = -1; > + > + if (IS_ENABLED(CONFIG_X86)) { > + idx = acpi_match_platform_list(plat_list); > + if (idx < 0 && !force) > + return NULL; > + } > + > + return &ghes_devs; > +} > +EXPORT_SYMBOL_GPL(ghes_get_devices); And yes, as Toshi points out, the other EDAC drivers - sb_edac, skx_edac and amd64_edac - should call this function in their init functions so that it can get selected which driver to load on HPE server platforms. Also in a separate patch pls. Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette