RE: [RESEND PATCH v3 5/9] EDAC: Don't load chipset-specific edac drivers when ghes_edac is preferred

Kani, Toshi
2022-08-24T23:05:31Z

On Monday, August 22, 2022 9:41 AM, Jia He wrote:
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index e17e0ee8f842..327386f3cf33 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -1537,16 +1537,25 @@ static struct acpi_platform_list plat_list[] = {
> { } /* End */
> };
>
> -struct list_head *ghes_get_devices(void)
> +bool ghes_edac_preferred(void)
> {
> int idx = -1;
>
> if (IS_ENABLED(CONFIG_X86)) {
> idx = acpi_match_platform_list(plat_list);
> if (idx < 0 && !ghes_edac_force)
> - return NULL;
> + return false;
> }
>
> + return true;
> +}
> +EXPORT_SYMBOL_GPL(ghes_edac_preferred);
> +
> +struct list_head *ghes_get_devices(void)
> +{
> + if (!ghes_edac_preferred())
> + return NULL;
> +
> return &ghes_devs;
> }

ghes_get_devices() changing multiple times in the series is
confusing to me. Can you simply introduce ghes_get_devices()
and ghes_preferred() in the right state in a patch? Perhaps,
patch #2, #5, #6 can collapse to introduce the two funcs?

The rest of patch #5 adding the call to ghes_edac_preferred()
into other edac drivers can remain as a separate patch.

Toshi