mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 09:31:26 +00:00
x86/apic/64: Uncopypaste probing
No need for the same thing twice. Also prepares for simplifying the APIC ID validation checks. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Michael Kelley <mikelley@microsoft.com> Tested-by: Sohil Mehta <sohil.mehta@intel.com> Tested-by: Juergen Gross <jgross@suse.com> # Xen PV (dom0 and unpriv. guest)
This commit is contained in:
parent
96ae35c75b
commit
d65eb31958
@ -13,6 +13,15 @@
|
||||
|
||||
#include "local.h"
|
||||
|
||||
static __init void apic_install_driver(struct apic *driver)
|
||||
{
|
||||
if (apic == driver)
|
||||
return;
|
||||
|
||||
apic = driver;
|
||||
pr_info("Switched APIC routing to %s:\n", apic->name);
|
||||
}
|
||||
|
||||
/* Select the appropriate APIC driver */
|
||||
void __init x86_64_probe_apic(void)
|
||||
{
|
||||
@ -22,11 +31,7 @@ void __init x86_64_probe_apic(void)
|
||||
|
||||
for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
|
||||
if ((*drv)->probe && (*drv)->probe()) {
|
||||
if (apic != *drv) {
|
||||
apic = *drv;
|
||||
pr_info("Switched APIC routing to %s.\n",
|
||||
apic->name);
|
||||
}
|
||||
apic_install_driver(*drv);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -38,11 +43,7 @@ int __init default_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
|
||||
|
||||
for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
|
||||
if ((*drv)->acpi_madt_oem_check(oem_id, oem_table_id)) {
|
||||
if (apic != *drv) {
|
||||
apic = *drv;
|
||||
pr_info("Setting APIC routing to %s.\n",
|
||||
apic->name);
|
||||
}
|
||||
apic_install_driver(*drv);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user