]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - drivers/acpi/osi.c
scsi: cxlflash: Fix power-of-two validations
[mirror_ubuntu-zesty-kernel.git] / drivers / acpi / osi.c
index 849f9d2245cac44b036654657dc2ce0adf56635a..1c5205d49d0f16e0c51df0b4ba0255461cac89e2 100644 (file)
@@ -462,6 +462,77 @@ 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 T430",
+       .matches = {
+                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+                    DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430"),
+               },
+       },
+       {
+       .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"),
+               },
+       },
+       {
+       .callback = dmi_disable_osi_win8,
+       .ident = "Lenovo ThinkPad Edge E330",
+       .matches = {
+                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+                    DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad Edge E330"),
+               },
+       },
+
        /*
         * BIOS invocation of _OSI(Linux) is almost always a BIOS bug.
         * Linux ignores it, except for the machines enumerated below.