Loading drivers/acpi/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ acpi-$(CONFIG_ACPI_SLEEP) += proc.o # acpi-y += bus.o glue.o acpi-y += scan.o acpi-y += processor_pdc.o acpi-y += ec.o acpi-$(CONFIG_ACPI_DOCK) += dock.o acpi-y += pci_root.o pci_link.o pci_irq.o pci_bind.o Loading drivers/acpi/blacklist.c +14 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,12 @@ static int __init dmi_disable_osi_vista(const struct dmi_system_id *d) acpi_osi_setup("!Windows 2006"); return 0; } static int __init dmi_disable_osi_win7(const struct dmi_system_id *d) { printk(KERN_NOTICE PREFIX "DMI detected: %s\n", d->ident); acpi_osi_setup("!Windows 2009"); return 0; } static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { { Loading @@ -211,6 +217,14 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { DMI_MATCH(DMI_PRODUCT_NAME, "Sony VGN-SR290J"), }, }, { .callback = dmi_disable_osi_win7, .ident = "ASUS K50IJ", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "K50IJ"), }, }, /* * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. Loading drivers/acpi/bus.c +2 −0 Original line number Diff line number Diff line Loading @@ -898,6 +898,8 @@ static int __init acpi_bus_init(void) goto error1; } acpi_early_processor_set_pdc(); /* * Maybe EC region is required at bus_scan/acpi_get_devices. So it * is necessary to enable it as early as possible. Loading drivers/acpi/ec.c +8 −2 Original line number Diff line number Diff line Loading @@ -916,6 +916,7 @@ static int ec_validate_ecdt(const struct dmi_system_id *id) /* MSI EC needs special treatment, enable it */ static int ec_flag_msi(const struct dmi_system_id *id) { printk(KERN_DEBUG PREFIX "Detected MSI hardware, enabling workarounds.\n"); EC_FLAGS_MSI = 1; EC_FLAGS_VALIDATE_ECDT = 1; return 0; Loading @@ -928,7 +929,12 @@ static struct dmi_system_id __initdata ec_dmi_table[] = { DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL}, { ec_flag_msi, "MSI hardware", { DMI_MATCH(DMI_BIOS_VENDOR, "Micro-Star"), DMI_MATCH(DMI_BIOS_VENDOR, "Micro-Star")}, NULL}, { ec_flag_msi, "MSI hardware", { DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star")}, NULL}, { ec_flag_msi, "MSI hardware", { DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-Star")}, NULL}, { ec_validate_ecdt, "ASUS hardware", { Loading drivers/acpi/internal.h +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ int acpi_power_transition(struct acpi_device *device, int state); extern int acpi_power_nocheck; int acpi_wakeup_device_init(void); void acpi_early_processor_set_pdc(void); /* -------------------------------------------------------------------------- Embedded Controller Loading Loading
drivers/acpi/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ acpi-$(CONFIG_ACPI_SLEEP) += proc.o # acpi-y += bus.o glue.o acpi-y += scan.o acpi-y += processor_pdc.o acpi-y += ec.o acpi-$(CONFIG_ACPI_DOCK) += dock.o acpi-y += pci_root.o pci_link.o pci_irq.o pci_bind.o Loading
drivers/acpi/blacklist.c +14 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,12 @@ static int __init dmi_disable_osi_vista(const struct dmi_system_id *d) acpi_osi_setup("!Windows 2006"); return 0; } static int __init dmi_disable_osi_win7(const struct dmi_system_id *d) { printk(KERN_NOTICE PREFIX "DMI detected: %s\n", d->ident); acpi_osi_setup("!Windows 2009"); return 0; } static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { { Loading @@ -211,6 +217,14 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { DMI_MATCH(DMI_PRODUCT_NAME, "Sony VGN-SR290J"), }, }, { .callback = dmi_disable_osi_win7, .ident = "ASUS K50IJ", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "K50IJ"), }, }, /* * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. Loading
drivers/acpi/bus.c +2 −0 Original line number Diff line number Diff line Loading @@ -898,6 +898,8 @@ static int __init acpi_bus_init(void) goto error1; } acpi_early_processor_set_pdc(); /* * Maybe EC region is required at bus_scan/acpi_get_devices. So it * is necessary to enable it as early as possible. Loading
drivers/acpi/ec.c +8 −2 Original line number Diff line number Diff line Loading @@ -916,6 +916,7 @@ static int ec_validate_ecdt(const struct dmi_system_id *id) /* MSI EC needs special treatment, enable it */ static int ec_flag_msi(const struct dmi_system_id *id) { printk(KERN_DEBUG PREFIX "Detected MSI hardware, enabling workarounds.\n"); EC_FLAGS_MSI = 1; EC_FLAGS_VALIDATE_ECDT = 1; return 0; Loading @@ -928,7 +929,12 @@ static struct dmi_system_id __initdata ec_dmi_table[] = { DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL}, { ec_flag_msi, "MSI hardware", { DMI_MATCH(DMI_BIOS_VENDOR, "Micro-Star"), DMI_MATCH(DMI_BIOS_VENDOR, "Micro-Star")}, NULL}, { ec_flag_msi, "MSI hardware", { DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star")}, NULL}, { ec_flag_msi, "MSI hardware", { DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-Star")}, NULL}, { ec_validate_ecdt, "ASUS hardware", { Loading
drivers/acpi/internal.h +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ int acpi_power_transition(struct acpi_device *device, int state); extern int acpi_power_nocheck; int acpi_wakeup_device_init(void); void acpi_early_processor_set_pdc(void); /* -------------------------------------------------------------------------- Embedded Controller Loading