diff options
Diffstat (limited to '2700_ThinkPad-30-brightness-control-fix.patch')
-rw-r--r-- | 2700_ThinkPad-30-brightness-control-fix.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/2700_ThinkPad-30-brightness-control-fix.patch b/2700_ThinkPad-30-brightness-control-fix.patch new file mode 100644 index 00000000..b548c6dc --- /dev/null +++ b/2700_ThinkPad-30-brightness-control-fix.patch @@ -0,0 +1,67 @@ +diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c +index cb96296..6c242ed 100644 +--- a/drivers/acpi/blacklist.c ++++ b/drivers/acpi/blacklist.c +@@ -269,6 +276,61 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { + }, + + /* ++ * The following Lenovo models have a broken workaround in the ++ * acpi_video backlight implementation to meet the Windows 8 ++ * requirement of 101 backlight levels. Reverting to pre-Win8 ++ * behavior fixes the problem. ++ */ ++ { ++ .callback = dmi_disable_osi_win8, ++ .ident = "Lenovo ThinkPad L430", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), ++ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad L430"), ++ }, ++ }, ++ { ++ .callback = dmi_disable_osi_win8, ++ .ident = "Lenovo ThinkPad T430s", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), ++ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430s"), ++ }, ++ }, ++ { ++ .callback = dmi_disable_osi_win8, ++ .ident = "Lenovo ThinkPad T530", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), ++ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T530"), ++ }, ++ }, ++ { ++ .callback = dmi_disable_osi_win8, ++ .ident = "Lenovo ThinkPad W530", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), ++ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W530"), ++ }, ++ }, ++ { ++ .callback = dmi_disable_osi_win8, ++ .ident = "Lenovo ThinkPad X1 Carbon", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), ++ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X1 Carbon"), ++ }, ++ }, ++ { ++ .callback = dmi_disable_osi_win8, ++ .ident = "Lenovo ThinkPad X230", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), ++ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X230"), ++ }, ++ }, ++ ++ /* + * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. + * Linux ignores it, except for the machines enumerated below. + */ + |