[PATCH -mm 8/8] ACPI PM: Add DMI quirk list for ACPI 1.0 suspend ordering

From: Rafael J. Wysocki
Date: Wed Jul 09 2008 - 20:09:21 EST


From: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
Subject: ACPI PM: Add DMI quirk list for ACPI 1.0 suspend ordering

There are a few BIOS' that we know of already that need to use the
ACPI 1.0 suspend order. This appears to be only be a small minority of
mostly nVidia based systems.

Based on observation of Windows behaviour, it's clear that Windows is
also doing maintaining its own list of broken hardware that needs this
workaround.

Signed-off-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---

drivers/acpi/sleep/main.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)


Index: linux-next/drivers/acpi/sleep/main.c
===================================================================
--- linux-next.orig/drivers/acpi/sleep/main.c
+++ linux-next/drivers/acpi/sleep/main.c
@@ -280,6 +280,24 @@ static struct platform_suspend_ops acpi_
.end = acpi_pm_end,
.recover = acpi_pm_finish,
};
+
+static int __init init_old_suspend_ordering(const struct dmi_system_id *d)
+{
+ old_suspend_ordering = true;
+ return 0;
+}
+
+static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
+ {
+ .callback = init_old_suspend_ordering,
+ .ident = "Abit KN9 (nForce4 variant)",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "http://www.abit.com.tw/";),
+ DMI_MATCH(DMI_BOARD_NAME, "KN9 Series(NF-CK804)"),
+ },
+ },
+ {},
+};
#endif /* CONFIG_SUSPEND */

#ifdef CONFIG_HIBERNATION
@@ -531,6 +549,8 @@ int __init acpi_sleep_init(void)
u8 type_a, type_b;
#ifdef CONFIG_SUSPEND
int i = 0;
+
+ dmi_check_system(acpisleep_dmi_table);
#endif

if (acpi_disabled)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/