From ade28abdcb474531bb7045c032a286812c7f6d2a Mon Sep 17 00:00:00 2001 From: Corentin Chary Date: Tue, 20 Mar 2012 09:53:14 +0100 Subject: asus-wmi: don't update power and brightness when using scalar But we can still do it on other boards, as this might happen if the backlight driver change when update_bl is called. Signed-off-by: Corentin Chary Signed-off-by: Matthew Garrett --- drivers/platform/x86/asus-wmi.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'drivers/platform') diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index ff9cfd83b09f..7d1684bdbf63 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -1152,15 +1152,21 @@ static int update_bl_status(struct backlight_device *bd) ctrl_param, NULL); if (asus->driver->quirks->store_backlight_power) asus->driver->panel_power = bd->props.power; - } else { - if (asus->driver->quirks->scalar_panel_brightness) - ctrl_param = get_scalar_command(bd); - else - ctrl_param = bd->props.brightness; - err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BRIGHTNESS, - ctrl_param, NULL); + /* When using scalar brightness, updating the brightness + * will mess with the backlight power */ + if (asus->driver->quirks->scalar_panel_brightness) + return err; } + + if (asus->driver->quirks->scalar_panel_brightness) + ctrl_param = get_scalar_command(bd); + else + ctrl_param = bd->props.brightness; + + err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BRIGHTNESS, + ctrl_param, NULL); + return err; } -- cgit v1.2.3