mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	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