forked from mirrors/linux
		
	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
					
				
					 3 changed files with 10 additions and 1 deletions
				
			
		|  | @ -78,10 +78,12 @@ static bool asus_q500a_i8042_filter(unsigned char data, unsigned char str, | |||
| 
 | ||||
| static struct quirk_entry quirk_asus_unknown = { | ||||
| 	.wapf = 0, | ||||
| 	.wmi_backlight_set_devstate = true, | ||||
| }; | ||||
| 
 | ||||
| static struct quirk_entry quirk_asus_q500a = { | ||||
| 	.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 = { | ||||
| 	.wapf = 4, | ||||
| 	.wmi_backlight_power = true, | ||||
| 	.wmi_backlight_set_devstate = true, | ||||
| 	.no_display_toggle = true, | ||||
| }; | ||||
| 
 | ||||
| static struct quirk_entry quirk_asus_wapf4 = { | ||||
| 	.wapf = 4, | ||||
| 	.wmi_backlight_set_devstate = true, | ||||
| }; | ||||
| 
 | ||||
| static struct quirk_entry quirk_asus_x200ca = { | ||||
| 	.wapf = 2, | ||||
| 	.wmi_backlight_set_devstate = true, | ||||
| }; | ||||
| 
 | ||||
| static struct quirk_entry quirk_asus_ux303ub = { | ||||
| 	.wmi_backlight_native = true, | ||||
| 	.wmi_backlight_set_devstate = true, | ||||
| }; | ||||
| 
 | ||||
| static struct quirk_entry quirk_asus_x550lb = { | ||||
| 	.wmi_backlight_set_devstate = true, | ||||
| 	.xusb2pr = 0x01D9, | ||||
| }; | ||||
| 
 | ||||
| static struct quirk_entry quirk_asus_forceals = { | ||||
| 	.wmi_backlight_set_devstate = 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); | ||||
| 		if (err && err != -ENODEV) | ||||
| 			goto fail_backlight; | ||||
| 	} else | ||||
| 	} else if (asus->driver->quirks->wmi_backlight_set_devstate) | ||||
| 		err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL); | ||||
| 
 | ||||
| 	if (asus_wmi_has_fnlock_key(asus)) { | ||||
|  |  | |||
|  | @ -44,6 +44,7 @@ struct quirk_entry { | |||
| 	bool store_backlight_power; | ||||
| 	bool wmi_backlight_power; | ||||
| 	bool wmi_backlight_native; | ||||
| 	bool wmi_backlight_set_devstate; | ||||
| 	bool wmi_force_als_set; | ||||
| 	int wapf; | ||||
| 	/*
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Hans de Goede
						Hans de Goede