[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YvJB5cxSldpigw1g@zn.tnic>
Date: Tue, 9 Aug 2022 13:15:49 +0200
From: Borislav Petkov <bp@...en8.de>
To: Justin He <Justin.He@....com>
Cc: "Kani, Toshi" <toshi.kani@....com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Len Brown <lenb@...nel.org>, James Morse <James.Morse@....com>,
Tony Luck <tony.luck@...el.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Robert Richter <rric@...nel.org>,
Shuai Xue <xueshuai@...ux.alibaba.com>,
Jarkko Sakkinen <jarkko@...nel.org>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"open list:EDAC-CORE" <linux-edac@...r.kernel.org>
Subject: Re: 回复: [PATCH] ACPI: APEI:
move edac_init ahead of ghes platform drv register
On Tue, Aug 09, 2022 at 09:24:33AM +0000, Justin He wrote:
> If no, what is the detail logic of ghes_edac_driver_is_preferred()?
That should be moved from ghes_edac.c to ghes.c:
/*
* Known systems that are safe to enable this module.
*/
static struct acpi_platform_list plat_list[] = {
{"HPE ", "Server ", 0, ACPI_SIG_FADT, all_versions},
{ } /* End */
};
and then
bool ghes_edac_driver_is_preferred()
{
if (IS_ENABLED(CONFIG_X86)) {
/* Check if safe to enable on this system */
idx = acpi_match_platform_list(plat_list);
} else if (ARM) {
/* insert ARM logic here */
}
}
That function should be called by the EDAC modules which compete with
ghes_edac.
In the x86 case, that's sb_edac, skx_edac and amd64_edac, I guess.
It all depends on what platforms Toshi wants to load it - I'm guessing
HPE has both Intel and AMD platforms where they prefer ghes_edac.
On ARM, that's up to ARM folks.
> Because I notice that lots of other edac drivers are probing like:
> ...
> owner = edac_get_owner();
> if (owner && strncmp(owner, EDAC_MOD_STR, sizeof(EDAC_MOD_STR)))
> return -EBUSY;
No, that's a silly mechanism to allow a single EDAC driver to load on
the system. But your test will go before it, at the very beginning of
the init function.
HTH.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists