In order to extend the DMI based quirks, convert them to a table. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- arch/x86/kernel/quirks.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c index 5b96654aacc0..447d4fba8516 100644 --- a/arch/x86/kernel/quirks.c +++ b/arch/x86/kernel/quirks.c @@ -667,8 +667,31 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2083, quirk_intel_purley_xeon_ras bool x86_apple_machine; EXPORT_SYMBOL(x86_apple_machine); +static int apple_machine_cb(const struct dmi_system_id *id) +{ + x86_apple_machine = true; + return 1; +} + +static const struct dmi_system_id x86_machine_table[] = { + { + .ident = "x86 Apple Macintosh", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), + }, + .callback = apple_machine_cb, + }, + { + .ident = "x86 Apple Macintosh", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."), + }, + .callback = apple_machine_cb, + }, + {} +}; + void __init early_platform_quirks(void) { - x86_apple_machine = dmi_match(DMI_SYS_VENDOR, "Apple Inc.") || - dmi_match(DMI_SYS_VENDOR, "Apple Computer, Inc."); + dmi_check_system(x86_machine_table); } -- 2.24.1