diff options
| -rw-r--r-- | drivers/acpi/ec.c | 4 | ||||
| -rw-r--r-- | drivers/acpi/video.c | 45 |
2 files changed, 47 insertions, 2 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 9922cc46b15c..cb6066c809ea 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c | |||
| @@ -1030,6 +1030,10 @@ static struct dmi_system_id ec_dmi_table[] __initdata = { | |||
| 1030 | DMI_MATCH(DMI_SYS_VENDOR, "Quanta"), | 1030 | DMI_MATCH(DMI_SYS_VENDOR, "Quanta"), |
| 1031 | DMI_MATCH(DMI_PRODUCT_NAME, "TW9/SW9"),}, NULL}, | 1031 | DMI_MATCH(DMI_PRODUCT_NAME, "TW9/SW9"),}, NULL}, |
| 1032 | { | 1032 | { |
| 1033 | ec_flag_msi, "Clevo W350etq", { | ||
| 1034 | DMI_MATCH(DMI_SYS_VENDOR, "CLEVO CO."), | ||
| 1035 | DMI_MATCH(DMI_PRODUCT_NAME, "W35_37ET"),}, NULL}, | ||
| 1036 | { | ||
| 1033 | ec_validate_ecdt, "ASUS hardware", { | 1037 | ec_validate_ecdt, "ASUS hardware", { |
| 1034 | DMI_MATCH(DMI_BIOS_VENDOR, "ASUS") }, NULL}, | 1038 | DMI_MATCH(DMI_BIOS_VENDOR, "ASUS") }, NULL}, |
| 1035 | { | 1039 | { |
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 826884392e6b..fcbda105616e 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
| @@ -82,9 +82,9 @@ module_param(allow_duplicates, bool, 0644); | |||
| 82 | * For Windows 8 systems: used to decide if video module | 82 | * For Windows 8 systems: used to decide if video module |
| 83 | * should skip registering backlight interface of its own. | 83 | * should skip registering backlight interface of its own. |
| 84 | */ | 84 | */ |
| 85 | static int use_native_backlight_param = 1; | 85 | static int use_native_backlight_param = -1; |
| 86 | module_param_named(use_native_backlight, use_native_backlight_param, int, 0444); | 86 | module_param_named(use_native_backlight, use_native_backlight_param, int, 0444); |
| 87 | static bool use_native_backlight_dmi = false; | 87 | static bool use_native_backlight_dmi = true; |
| 88 | 88 | ||
| 89 | static int register_count; | 89 | static int register_count; |
| 90 | static struct mutex video_list_lock; | 90 | static struct mutex video_list_lock; |
| @@ -417,6 +417,12 @@ static int __init video_set_use_native_backlight(const struct dmi_system_id *d) | |||
| 417 | return 0; | 417 | return 0; |
| 418 | } | 418 | } |
| 419 | 419 | ||
| 420 | static int __init video_disable_native_backlight(const struct dmi_system_id *d) | ||
| 421 | { | ||
| 422 | use_native_backlight_dmi = false; | ||
| 423 | return 0; | ||
| 424 | } | ||
| 425 | |||
| 420 | static struct dmi_system_id video_dmi_table[] __initdata = { | 426 | static struct dmi_system_id video_dmi_table[] __initdata = { |
| 421 | /* | 427 | /* |
| 422 | * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 | 428 | * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 |
| @@ -720,6 +726,41 @@ static struct dmi_system_id video_dmi_table[] __initdata = { | |||
| 720 | DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8780w"), | 726 | DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8780w"), |
| 721 | }, | 727 | }, |
| 722 | }, | 728 | }, |
| 729 | |||
| 730 | /* | ||
| 731 | * These models have a working acpi_video backlight control, and using | ||
| 732 | * native backlight causes a regression where backlight does not work | ||
| 733 | * when userspace is not handling brightness key events. Disable | ||
| 734 | * native_backlight on these to fix this: | ||
| 735 | * https://bugzilla.kernel.org/show_bug.cgi?id=81691 | ||
| 736 | */ | ||
| 737 | { | ||
| 738 | .callback = video_disable_native_backlight, | ||
| 739 | .ident = "ThinkPad T420", | ||
| 740 | .matches = { | ||
| 741 | DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), | ||
| 742 | DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T420"), | ||
| 743 | }, | ||
| 744 | }, | ||
| 745 | { | ||
| 746 | .callback = video_disable_native_backlight, | ||
| 747 | .ident = "ThinkPad T520", | ||
| 748 | .matches = { | ||
| 749 | DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), | ||
| 750 | DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T520"), | ||
| 751 | }, | ||
| 752 | }, | ||
| 753 | |||
| 754 | /* The native backlight controls do not work on some older machines */ | ||
| 755 | { | ||
| 756 | /* https://bugs.freedesktop.org/show_bug.cgi?id=81515 */ | ||
| 757 | .callback = video_disable_native_backlight, | ||
| 758 | .ident = "HP ENVY 15 Notebook", | ||
| 759 | .matches = { | ||
| 760 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
| 761 | DMI_MATCH(DMI_PRODUCT_NAME, "HP ENVY 15 Notebook PC"), | ||
| 762 | }, | ||
| 763 | }, | ||
| 723 | {} | 764 | {} |
| 724 | }; | 765 | }; |
| 725 | 766 | ||
