[PATCH 4/4] platform/x86: asus-wmi: Add wmi_backlight_disable quirk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Aleksey Nemcev <Nemcev_Aleksey@xxxxxxxx>

This quirk is for some Asus notebooks like FX705GE with
working ACPI backlight control, if asus-nb-wmi breaks it

Fixes display backlight control on FX705GE after asus-nb-wmi module load

Signed-off-by: Aleksey Nemcev <Nemcev_Aleksey@xxxxxxxx>
---
 drivers/platform/x86/asus-nb-wmi.c | 1 +
 drivers/platform/x86/asus-wmi.c    | 3 ++-
 drivers/platform/x86/asus-wmi.h    | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
index 5d98f5bdba14..94d1775c6934 100644
--- a/drivers/platform/x86/asus-nb-wmi.c
+++ b/drivers/platform/x86/asus-nb-wmi.c
@@ -88,6 +88,7 @@ static struct quirk_entry quirk_asus_x55u = {
 static struct quirk_entry quirk_asus_fx705ge = {
 	.wmi_needs_3_args = true,
 	.wmi_uses_dsts2 = true,
+	.wmi_backlight_disable = true,
 };
 
 static struct quirk_entry quirk_asus_wapf4 = {
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 4c62425f99c8..75022e816042 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -2254,7 +2254,8 @@ static int asus_wmi_add(struct platform_device *pdev)
 	if (asus->driver->quirks->xusb2pr)
 		asus_wmi_set_xusb2pr(asus);
 
-	if (acpi_video_get_backlight_type() == acpi_backlight_vendor) {
+	if (acpi_video_get_backlight_type() == acpi_backlight_vendor
+	    && !asus->driver->quirks->wmi_backlight_disable) {
 		err = asus_wmi_backlight_init(asus);
 		if (err && err != -ENODEV)
 			goto fail_backlight;
diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h
index 3d39de76b01b..df2aac92860b 100644
--- a/drivers/platform/x86/asus-wmi.h
+++ b/drivers/platform/x86/asus-wmi.h
@@ -35,6 +35,7 @@ struct quirk_entry {
 	bool wmi_force_als_set;
 	bool wmi_needs_3_args;
 	bool wmi_uses_dsts2;
+	bool wmi_backlight_disable;
 	int wapf;
 	/*
 	 * For machines with AMD graphic chips, it will send out WMI event
-- 
2.20.1




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux