On Tue, Aug 01, 2017 at 02:10:41PM +0200, Lukas Wunner wrote: > We're about to amend ACPI bus scan with DMI checks whether we're running > on a Mac to support Apple device properties in AML. The DMI checks are > performed for every single device, adding overhead for everything x86 > that isn't Apple, which is the majority. Rafael and Andy therefore > request to perform the DMI match only once and cache the result. > > Outside of ACPI various other Apple DMI checks exist and it seems > reasonable to use the cached value there as well. Rafael, Andy and > Darren suggest performing the DMI check in arch code and making it > available with a header in include/linux/platform_data/x86/. > > To this end, add early_platform_quirks() to arch/x86/kernel/quirks.c > to perform the DMI check and invoke it from setup_arch(). Switch over > all existing Apple DMI checks, thereby fixing two deficiencies: > > * They are now #defined to false on non-x86 arches and can thus be > optimized away if they're located in cross-arch code. > > * Some of them only match "Apple Inc." but not "Apple Computer, Inc.", > which is used by BIOSes released between January 2006 (when the first > x86 Macs started shipping) and January 2007 (when the company name > changed upon introduction of the iPhone). > > Cc: Lv Zheng <lv.zheng@xxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: H. Peter Anvin <hpa@xxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> > Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > Cc: Andreas Noever <andreas.noever@xxxxxxxxx> > Cc: Michael Jamet <michael.jamet@xxxxxxxxx> > Cc: Yehezkel Bernat <yehezkel.bernat@xxxxxxxxx> > Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> For the thunderbolt bits: Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html