platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from asus_nb_wmi
Commit78f3ac76d9
("platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey") causes the backlight to be permanently off on various EeePC laptop models using the eeepc-wmi driver (Asus EeePC 1015BX, Asus EeePC 1025C). The asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL) call added by that commit is made conditional in this commit and only enabled in the quirk_entry structs in the asus-nb-wmi driver fixing the broken display / backlight on various EeePC laptop models. Cc: João Paulo Rechi Vita <jprvita@endlessm.com> Fixes:78f3ac76d9
("platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey") Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
4e6d273940
commit
1dd93f873d
|
@ -78,10 +78,12 @@ static bool asus_q500a_i8042_filter(unsigned char data, unsigned char str,
|
||||||
|
|
||||||
static struct quirk_entry quirk_asus_unknown = {
|
static struct quirk_entry quirk_asus_unknown = {
|
||||||
.wapf = 0,
|
.wapf = 0,
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct quirk_entry quirk_asus_q500a = {
|
static struct quirk_entry quirk_asus_q500a = {
|
||||||
.i8042_filter = asus_q500a_i8042_filter,
|
.i8042_filter = asus_q500a_i8042_filter,
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -92,26 +94,32 @@ static struct quirk_entry quirk_asus_q500a = {
|
||||||
static struct quirk_entry quirk_asus_x55u = {
|
static struct quirk_entry quirk_asus_x55u = {
|
||||||
.wapf = 4,
|
.wapf = 4,
|
||||||
.wmi_backlight_power = true,
|
.wmi_backlight_power = true,
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
.no_display_toggle = true,
|
.no_display_toggle = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct quirk_entry quirk_asus_wapf4 = {
|
static struct quirk_entry quirk_asus_wapf4 = {
|
||||||
.wapf = 4,
|
.wapf = 4,
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct quirk_entry quirk_asus_x200ca = {
|
static struct quirk_entry quirk_asus_x200ca = {
|
||||||
.wapf = 2,
|
.wapf = 2,
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct quirk_entry quirk_asus_ux303ub = {
|
static struct quirk_entry quirk_asus_ux303ub = {
|
||||||
.wmi_backlight_native = true,
|
.wmi_backlight_native = true,
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct quirk_entry quirk_asus_x550lb = {
|
static struct quirk_entry quirk_asus_x550lb = {
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
.xusb2pr = 0x01D9,
|
.xusb2pr = 0x01D9,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct quirk_entry quirk_asus_forceals = {
|
static struct quirk_entry quirk_asus_forceals = {
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
.wmi_force_als_set = true,
|
.wmi_force_als_set = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2159,7 +2159,7 @@ static int asus_wmi_add(struct platform_device *pdev)
|
||||||
err = asus_wmi_backlight_init(asus);
|
err = asus_wmi_backlight_init(asus);
|
||||||
if (err && err != -ENODEV)
|
if (err && err != -ENODEV)
|
||||||
goto fail_backlight;
|
goto fail_backlight;
|
||||||
} else
|
} else if (asus->driver->quirks->wmi_backlight_set_devstate)
|
||||||
err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL);
|
err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL);
|
||||||
|
|
||||||
if (asus_wmi_has_fnlock_key(asus)) {
|
if (asus_wmi_has_fnlock_key(asus)) {
|
||||||
|
|
|
@ -44,6 +44,7 @@ struct quirk_entry {
|
||||||
bool store_backlight_power;
|
bool store_backlight_power;
|
||||||
bool wmi_backlight_power;
|
bool wmi_backlight_power;
|
||||||
bool wmi_backlight_native;
|
bool wmi_backlight_native;
|
||||||
|
bool wmi_backlight_set_devstate;
|
||||||
bool wmi_force_als_set;
|
bool wmi_force_als_set;
|
||||||
int wapf;
|
int wapf;
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue