Re: [PATCH] Add DMI quirk for Intel DP55KG mainboard

From: Len Brown
Date: Mon Jan 04 2010 - 12:16:21 EST


On Mon, 4 Jan 2010, Christian Hofstaedtler wrote:

> From: Christian Hofstaedtler <ch+git@xxxxxxx>
>
> The Intel DP55KG mainboard cannot reboot using the keyboard controller,
> but ACPI works fine. Auto-select ACPI for this board.
>
> Signed-off-by: Christian Hofstaedtler <ch@xxxxxxx>
> ---
> arch/x86/kernel/reboot.c | 21 +++++++++++++++++++++
> 1 files changed, 21 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
> index 1545bc0..b7fcf59 100644
> --- a/arch/x86/kernel/reboot.c
> +++ b/arch/x86/kernel/reboot.c
> @@ -427,6 +427,19 @@ static int __init set_pci_reboot(const struct dmi_system_id *d)
> return 0;
> }
>
> +/*
> + * Some Intel mainboards need reboot=a to actually reboot
> + */
> +static int __init set_acpi_reboot(const struct dmi_system_id *d)
> +{
> + if (reboot_type != BOOT_ACPI) {
> + reboot_type = BOOT_ACPI;
> + printk(KERN_INFO "%s hardware detected. "
> + "Selecting ACPI-method for reboots.\n", d->ident);
> + }
> + return 0;
> +}
> +
> static struct dmi_system_id __initdata pci_reboot_dmi_table[] = {
> { /* Handle problems with rebooting on Apple MacBook5 */
> .callback = set_pci_reboot,
> @@ -452,6 +465,14 @@ static struct dmi_system_id __initdata pci_reboot_dmi_table[] = {
> DMI_MATCH(DMI_PRODUCT_NAME, "Macmini3,1"),
> },
> },
> + { /* Handle problems with rebooting on Intel DP55KG mainboard */
> + .callback = set_acpi_reboot,
> + .ident = "Intel DP55KG Mainboard",
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
> + DMI_MATCH(DMI_BOARD_NAME, "DP55KG"),
> + },
> + },
> { }
> };
>
> --
> 1.6.4.4


I believe that Venki is sending a patch to make all recent
motherboards use acpi reset by default; and I'd rather
see that kind of patch than this one.

I've had the patch below patch in acpi-test, and thus linus-next,
and -mm since Nov 2008 to change the default for
all systems w/ no issues.

commit 2cb758c617833c18c533e1c4c31167e59d092235
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Nov 6 22:43:21 2008 -0500

x86, ACPI: default to reboot via ACPI (again)

We've run into systems which do not reboot properly
without using the ACPI reset mechanism. So lets
try this in linux-next for a while and see
how many existing machines stop rebooting
because they can't handle ACPI reboot.

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index d2d1ce8..4c53aeb 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -32,7 +32,7 @@ EXPORT_SYMBOL(pm_power_off);

static const struct desc_ptr no_idt = {};
static int reboot_mode;
-enum reboot_type reboot_type = BOOT_KBD;
+enum reboot_type reboot_type = BOOT_ACPI;
int reboot_force;

#if defined(CONFIG_X86_32) && defined(CONFIG_SMP)



--
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/