Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[deliverable/linux.git] / arch / x86 / kernel / reboot.c
index b5b936fbb8e081045ce47fb293fea2eac840b3c0..63bf27d972b77bfcb59997b473474ddbe41af5d0 100644 (file)
@@ -54,6 +54,19 @@ bool port_cf9_safe = false;
  * Dell Inc. so their systems "just work". :-)
  */
 
+/*
+ * Some machines require the "reboot=a" commandline options
+ */
+static int __init set_acpi_reboot(const struct dmi_system_id *d)
+{
+       if (reboot_type != BOOT_ACPI) {
+               reboot_type = BOOT_ACPI;
+               pr_info("%s series board detected. Selecting %s-method for reboots.\n",
+                       d->ident, "ACPI");
+       }
+       return 0;
+}
+
 /*
  * Some machines require the "reboot=b" or "reboot=k"  commandline options,
  * this quirk makes that automatic.
@@ -395,6 +408,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
                        DMI_MATCH(DMI_PRODUCT_NAME, "Dell XPS710"),
                },
        },
+       {       /* Handle problems with rebooting on Dell Optiplex 7450 AIO */
+               .callback = set_acpi_reboot,
+               .ident = "Dell OptiPlex 7450 AIO",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 7450 AIO"),
+               },
+       },
 
        /* Hewlett-Packard */
        {       /* Handle problems with rebooting on HP laptops */
This page took 0.024689 seconds and 5 git commands to generate.