Loading drivers/acpi/Makefile +1 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ acpi-$(CONFIG_ACPI_SLEEP) += proc.o # # acpi-y += bus.o glue.o acpi-y += bus.o glue.o acpi-y += scan.o acpi-y += scan.o acpi-y += processor_pdc.o acpi-y += ec.o acpi-y += ec.o acpi-$(CONFIG_ACPI_DOCK) += dock.o acpi-$(CONFIG_ACPI_DOCK) += dock.o acpi-y += pci_root.o pci_link.o pci_irq.o pci_bind.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 Original line 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"); acpi_osi_setup("!Windows 2006"); return 0; 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 = { 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"), 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. * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. Loading drivers/acpi/bus.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -898,6 +898,8 @@ static int __init acpi_bus_init(void) goto error1; goto error1; } } acpi_early_processor_set_pdc(); /* /* * Maybe EC region is required at bus_scan/acpi_get_devices. So it * Maybe EC region is required at bus_scan/acpi_get_devices. So it * is necessary to enable it as early as possible. * is necessary to enable it as early as possible. Loading drivers/acpi/ec.c +8 −2 Original line number Original line 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 */ /* MSI EC needs special treatment, enable it */ static int ec_flag_msi(const struct dmi_system_id *id) 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_MSI = 1; EC_FLAGS_VALIDATE_ECDT = 1; EC_FLAGS_VALIDATE_ECDT = 1; return 0; return 0; Loading @@ -928,7 +929,12 @@ static struct dmi_system_id __initdata ec_dmi_table[] = { DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL}, DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL}, { { ec_flag_msi, "MSI hardware", { 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}, DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-Star")}, NULL}, { { ec_validate_ecdt, "ASUS hardware", { ec_validate_ecdt, "ASUS hardware", { Loading drivers/acpi/internal.h +1 −0 Original line number Original line 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; extern int acpi_power_nocheck; int acpi_wakeup_device_init(void); int acpi_wakeup_device_init(void); void acpi_early_processor_set_pdc(void); /* -------------------------------------------------------------------------- /* -------------------------------------------------------------------------- Embedded Controller Embedded Controller Loading Loading
drivers/acpi/Makefile +1 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ acpi-$(CONFIG_ACPI_SLEEP) += proc.o # # acpi-y += bus.o glue.o acpi-y += bus.o glue.o acpi-y += scan.o acpi-y += scan.o acpi-y += processor_pdc.o acpi-y += ec.o acpi-y += ec.o acpi-$(CONFIG_ACPI_DOCK) += dock.o acpi-$(CONFIG_ACPI_DOCK) += dock.o acpi-y += pci_root.o pci_link.o pci_irq.o pci_bind.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 Original line 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"); acpi_osi_setup("!Windows 2006"); return 0; 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 = { 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"), 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. * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. Loading
drivers/acpi/bus.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -898,6 +898,8 @@ static int __init acpi_bus_init(void) goto error1; goto error1; } } acpi_early_processor_set_pdc(); /* /* * Maybe EC region is required at bus_scan/acpi_get_devices. So it * Maybe EC region is required at bus_scan/acpi_get_devices. So it * is necessary to enable it as early as possible. * is necessary to enable it as early as possible. Loading
drivers/acpi/ec.c +8 −2 Original line number Original line 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 */ /* MSI EC needs special treatment, enable it */ static int ec_flag_msi(const struct dmi_system_id *id) 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_MSI = 1; EC_FLAGS_VALIDATE_ECDT = 1; EC_FLAGS_VALIDATE_ECDT = 1; return 0; return 0; Loading @@ -928,7 +929,12 @@ static struct dmi_system_id __initdata ec_dmi_table[] = { DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL}, DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL}, { { ec_flag_msi, "MSI hardware", { 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}, DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-Star")}, NULL}, { { ec_validate_ecdt, "ASUS hardware", { ec_validate_ecdt, "ASUS hardware", { Loading
drivers/acpi/internal.h +1 −0 Original line number Original line 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; extern int acpi_power_nocheck; int acpi_wakeup_device_init(void); int acpi_wakeup_device_init(void); void acpi_early_processor_set_pdc(void); /* -------------------------------------------------------------------------- /* -------------------------------------------------------------------------- Embedded Controller Embedded Controller Loading