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