Commit e56e57f6 authored by Dave Jones's avatar Dave Jones Committed by Ingo Molnar

x86/reboot: Sort reboot DMI quirks by vendor

Grouping them by vendor should make it easier to spot duplicates.
Signed-off-by: default avatarDave Jones <davej@fedoraproject.org>
Link: http://lkml.kernel.org/r/20131001203655.GA10719@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent b5eafc6f
...@@ -136,236 +136,248 @@ static int __init set_kbd_reboot(const struct dmi_system_id *d) ...@@ -136,236 +136,248 @@ static int __init set_kbd_reboot(const struct dmi_system_id *d)
* This is a single dmi_table handling all reboot quirks. * This is a single dmi_table handling all reboot quirks.
*/ */
static struct dmi_system_id __initdata reboot_dmi_table[] = { static struct dmi_system_id __initdata reboot_dmi_table[] = {
{ /* Handle problems with rebooting on Dell E520's */
.callback = set_bios_reboot, /* Acer */
.ident = "Dell E520", { /* Handle reboot issue on Acer Aspire one */
.callback = set_kbd_reboot,
.ident = "Acer Aspire One A110",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
DMI_MATCH(DMI_PRODUCT_NAME, "Dell DM061"), DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"),
}, },
}, },
{ /* Handle problems with rebooting on Dell 1300's */
.callback = set_bios_reboot, /* Apple */
.ident = "Dell PowerEdge 1300", { /* Handle problems with rebooting on Apple MacBook5 */
.callback = set_pci_reboot,
.ident = "Apple MacBook5",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1300/"), DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5"),
}, },
}, },
{ /* Handle problems with rebooting on Dell 300's */ { /* Handle problems with rebooting on Apple MacBookPro5 */
.callback = set_bios_reboot, .callback = set_pci_reboot,
.ident = "Dell PowerEdge 300", .ident = "Apple MacBookPro5",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 300/"), DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5"),
}, },
}, },
{ /* Handle problems with rebooting on Dell Optiplex 745's SFF */ { /* Handle problems with rebooting on Apple Macmini3,1 */
.callback = set_bios_reboot, .callback = set_pci_reboot,
.ident = "Dell OptiPlex 745", .ident = "Apple Macmini3,1",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"), DMI_MATCH(DMI_PRODUCT_NAME, "Macmini3,1"),
}, },
}, },
{ /* Handle problems with rebooting on Dell Optiplex 745's DFF */ { /* Handle problems with rebooting on the iMac9,1. */
.callback = set_bios_reboot, .callback = set_pci_reboot,
.ident = "Dell OptiPlex 745", .ident = "Apple iMac9,1",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"), DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1"),
DMI_MATCH(DMI_BOARD_NAME, "0MM599"),
}, },
}, },
{ /* Handle problems with rebooting on Dell Optiplex 745 with 0KW626 */
/* ASUS */
{ /* Handle problems with rebooting on ASUS P4S800 */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "Dell OptiPlex 745", .ident = "ASUS P4S800",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"), DMI_MATCH(DMI_BOARD_NAME, "P4S800"),
DMI_MATCH(DMI_BOARD_NAME, "0KW626"),
}, },
}, },
{ /* Handle problems with rebooting on Dell Optiplex 330 with 0KP561 */
/* Dell */
{ /* Handle problems with rebooting on Dell DXP061 */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "Dell OptiPlex 330", .ident = "Dell DXP061",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 330"), DMI_MATCH(DMI_PRODUCT_NAME, "Dell DXP061"),
DMI_MATCH(DMI_BOARD_NAME, "0KP561"),
}, },
}, },
{ /* Handle problems with rebooting on Dell Optiplex 360 with 0T656F */ { /* Handle problems with rebooting on Dell E520's */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "Dell OptiPlex 360", .ident = "Dell E520",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 360"), DMI_MATCH(DMI_PRODUCT_NAME, "Dell DM061"),
DMI_MATCH(DMI_BOARD_NAME, "0T656F"),
}, },
}, },
{ /* Handle problems with rebooting on Dell OptiPlex 760 with 0G919G */ { /* Handle problems with rebooting on the Latitude E5420. */
.callback = set_bios_reboot, .callback = set_pci_reboot,
.ident = "Dell OptiPlex 760", .ident = "Dell Latitude E5420",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 760"), DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"),
DMI_MATCH(DMI_BOARD_NAME, "0G919G"),
}, },
}, },
{ /* Handle problems with rebooting on Dell 2400's */ { /* Handle problems with rebooting on the Latitude E6320. */
.callback = set_bios_reboot, .callback = set_pci_reboot,
.ident = "Dell PowerEdge 2400", .ident = "Dell Latitude E6320",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2400"), DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320"),
}, },
}, },
{ /* Handle problems with rebooting on Dell T5400's */ { /* Handle problems with rebooting on the Latitude E6420. */
.callback = set_bios_reboot, .callback = set_pci_reboot,
.ident = "Dell Precision T5400", .ident = "Dell Latitude E6420",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T5400"), DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6420"),
}, },
}, },
{ /* Handle problems with rebooting on Dell T7400's */ { /* Handle problems with rebooting on Dell Optiplex 330 with 0KP561 */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "Dell Precision T7400", .ident = "Dell OptiPlex 330",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T7400"), DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 330"),
DMI_MATCH(DMI_BOARD_NAME, "0KP561"),
}, },
}, },
{ /* Handle problems with rebooting on HP laptops */ { /* Handle problems with rebooting on Dell Optiplex 360 with 0T656F */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "HP Compaq Laptop", .ident = "Dell OptiPlex 360",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq"), DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 360"),
DMI_MATCH(DMI_BOARD_NAME, "0T656F"),
}, },
}, },
{ /* Handle problems with rebooting on Dell XPS710 */ { /* Handle problems with rebooting on Dell Optiplex 745's SFF */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "Dell XPS710", .ident = "Dell OptiPlex 745",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Dell XPS710"), DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
}, },
}, },
{ /* Handle problems with rebooting on Dell DXP061 */ { /* Handle problems with rebooting on Dell Optiplex 745's DFF */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "Dell DXP061", .ident = "Dell OptiPlex 745",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Dell DXP061"), DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
DMI_MATCH(DMI_BOARD_NAME, "0MM599"),
}, },
}, },
{ /* Handle problems with rebooting on Sony VGN-Z540N */ { /* Handle problems with rebooting on Dell Optiplex 745 with 0KW626 */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "Sony VGN-Z540N", .ident = "Dell OptiPlex 745",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N"), DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
DMI_MATCH(DMI_BOARD_NAME, "0KW626"),
}, },
}, },
{ /* Handle problems with rebooting on ASUS P4S800 */ { /* Handle problems with rebooting on Dell OptiPlex 760 with 0G919G */
.callback = set_bios_reboot, .callback = set_bios_reboot,
.ident = "ASUS P4S800", .ident = "Dell OptiPlex 760",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_BOARD_NAME, "P4S800"), DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 760"),
DMI_MATCH(DMI_BOARD_NAME, "0G919G"),
}, },
}, },
{ /* Handle problems with rebooting on the OptiPlex 990. */
{ /* Handle reboot issue on Acer Aspire one */ .callback = set_pci_reboot,
.callback = set_kbd_reboot, .ident = "Dell OptiPlex 990",
.ident = "Acer Aspire One A110",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"), DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"),
}, },
}, },
{ /* Handle problems with rebooting on Apple MacBook5 */ { /* Handle problems with rebooting on Dell 300's */
.callback = set_pci_reboot, .callback = set_bios_reboot,
.ident = "Apple MacBook5", .ident = "Dell PowerEdge 300",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5"), DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 300/"),
}, },
}, },
{ /* Handle problems with rebooting on Apple MacBookPro5 */ { /* Handle problems with rebooting on Dell 1300's */
.callback = set_pci_reboot, .callback = set_bios_reboot,
.ident = "Apple MacBookPro5", .ident = "Dell PowerEdge 1300",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5"), DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1300/"),
}, },
}, },
{ /* Handle problems with rebooting on Apple Macmini3,1 */ { /* Handle problems with rebooting on Dell 2400's */
.callback = set_pci_reboot, .callback = set_bios_reboot,
.ident = "Apple Macmini3,1", .ident = "Dell PowerEdge 2400",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "Macmini3,1"), DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2400"),
}, },
}, },
{ /* Handle problems with rebooting on the iMac9,1. */ { /* Handle problems with rebooting on the Dell PowerEdge C6100. */
.callback = set_pci_reboot, .callback = set_pci_reboot,
.ident = "Apple iMac9,1", .ident = "Dell PowerEdge C6100",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell"),
DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1"), DMI_MATCH(DMI_PRODUCT_NAME, "C6100"),
}, },
}, },
{ /* Handle problems with rebooting on the Latitude E6320. */ { /* Handle problems with rebooting on the Precision M6600. */
.callback = set_pci_reboot, .callback = set_pci_reboot,
.ident = "Dell Latitude E6320", .ident = "Dell Precision M6600",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320"), DMI_MATCH(DMI_PRODUCT_NAME, "Precision M6600"),
}, },
}, },
{ /* Handle problems with rebooting on the Latitude E5420. */ { /* Handle problems with rebooting on Dell T5400's */
.callback = set_pci_reboot, .callback = set_bios_reboot,
.ident = "Dell Latitude E5420", .ident = "Dell Precision T5400",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T5400"),
}, },
}, },
{ /* Handle problems with rebooting on the Latitude E6420. */ { /* Handle problems with rebooting on Dell T7400's */
.callback = set_pci_reboot, .callback = set_bios_reboot,
.ident = "Dell Latitude E6420", .ident = "Dell Precision T7400",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6420"), DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T7400"),
}, },
}, },
{ /* Handle problems with rebooting on the OptiPlex 990. */ { /* Handle problems with rebooting on Dell XPS710 */
.callback = set_pci_reboot, .callback = set_bios_reboot,
.ident = "Dell OptiPlex 990", .ident = "Dell XPS710",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"), DMI_MATCH(DMI_PRODUCT_NAME, "Dell XPS710"),
}, },
}, },
{ /* Handle problems with rebooting on the Precision M6600. */
.callback = set_pci_reboot, /* Hewlett-Packard */
.ident = "Dell Precision M6600", { /* Handle problems with rebooting on HP laptops */
.callback = set_bios_reboot,
.ident = "HP Compaq Laptop",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "Precision M6600"), DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq"),
}, },
}, },
{ /* Handle problems with rebooting on the Dell PowerEdge C6100. */
.callback = set_pci_reboot, /* Sony */
.ident = "Dell PowerEdge C6100", { /* Handle problems with rebooting on Sony VGN-Z540N */
.callback = set_bios_reboot,
.ident = "Sony VGN-Z540N",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell"), DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "C6100"), DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N"),
}, },
}, },
{ } { }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment