|
@@ -35,11 +35,11 @@
|
|
|
#include <linux/delay.h>
|
|
|
#ifdef CONFIG_X86
|
|
|
#include <asm/mpspec.h>
|
|
|
+#include <linux/dmi.h>
|
|
|
#endif
|
|
|
#include <linux/acpi_iort.h>
|
|
|
#include <linux/pci.h>
|
|
|
#include <acpi/apei.h>
|
|
|
-#include <linux/dmi.h>
|
|
|
#include <linux/suspend.h>
|
|
|
|
|
|
#include "internal.h"
|
|
@@ -82,10 +82,6 @@ static const struct dmi_system_id dsdt_dmi_table[] __initconst = {
|
|
|
},
|
|
|
{}
|
|
|
};
|
|
|
-#else
|
|
|
-static const struct dmi_system_id dsdt_dmi_table[] __initconst = {
|
|
|
- {}
|
|
|
-};
|
|
|
#endif
|
|
|
|
|
|
/* --------------------------------------------------------------------------
|
|
@@ -1033,11 +1029,16 @@ void __init acpi_early_init(void)
|
|
|
|
|
|
acpi_permanent_mmap = true;
|
|
|
|
|
|
+#ifdef CONFIG_X86
|
|
|
/*
|
|
|
* If the machine falls into the DMI check table,
|
|
|
- * DSDT will be copied to memory
|
|
|
+ * DSDT will be copied to memory.
|
|
|
+ * Note that calling dmi_check_system() here on other architectures
|
|
|
+ * would not be OK because only x86 initializes dmi early enough.
|
|
|
+ * Thankfully only x86 systems need such quirks for now.
|
|
|
*/
|
|
|
dmi_check_system(dsdt_dmi_table);
|
|
|
+#endif
|
|
|
|
|
|
status = acpi_reallocate_root_table();
|
|
|
if (ACPI_FAILURE(status)) {
|