Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61c1c614 authored by Sean Paul's avatar Sean Paul Committed by Lee Jones
Browse files

backlight: lp855x: Don't clear level on suspend/blank



Don't clear the backlight level when we're going into suspend or
blanking. Instead, just temporarily set the level to 0 so we retain
the value when we resume.

Reported-by: default avatarBenson Leung <bleung@chromium.org>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Tested-by: default avatarStephen Barber <smbarber@chromium.org>
Reviewed-by: default avatarBenson Leung <bleung@chromium.org>
Acked-by: default avatarMilo Kim <milo.kim@ti.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 0e441665
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -257,21 +257,15 @@ static void lp855x_pwm_ctrl(struct lp855x *lp, int br, int max_br)
static int lp855x_bl_update_status(struct backlight_device *bl)
{
	struct lp855x *lp = bl_get_data(bl);
	int brightness = bl->props.brightness;

	if (bl->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK))
		bl->props.brightness = 0;
		brightness = 0;

	if (lp->mode == PWM_BASED) {
		int br = bl->props.brightness;
		int max_br = bl->props.max_brightness;

		lp855x_pwm_ctrl(lp, br, max_br);

	} else if (lp->mode == REGISTER_BASED) {
		u8 val = bl->props.brightness;

		lp855x_write_byte(lp, lp->cfg->reg_brightness, val);
	}
	if (lp->mode == PWM_BASED)
		lp855x_pwm_ctrl(lp, brightness, bl->props.max_brightness);
	else if (lp->mode == REGISTER_BASED)
		lp855x_write_byte(lp, lp->cfg->reg_brightness, (u8)brightness);

	return 0;
}