Commit 24d34617 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by Lee Jones
Browse files

backlight: cr_bllcd: Introduce gpio-backlight semantics



cr_bllcd can turn backlight ON or OFF.

Fix semantitics so they equals what we know from gpio-backlight.

 brightness == 0   => backlight off
 brightness == 1   => backlight on

Use the backlight_get_brightness() helper to simplify the code.

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 5a09765d
Loading
Loading
Loading
Loading
+9 −16
Original line number Diff line number Diff line
@@ -63,22 +63,15 @@ static int cr_backlight_set_intensity(struct backlight_device *bd)
	u32 addr = gpio_bar + CRVML_PANEL_PORT;
	u32 cur = inl(addr);

	if (bd->props.power == FB_BLANK_UNBLANK)
		intensity = FB_BLANK_UNBLANK;
	if (bd->props.fb_blank == FB_BLANK_UNBLANK)
		intensity = FB_BLANK_UNBLANK;
	if (bd->props.power == FB_BLANK_POWERDOWN)
		intensity = FB_BLANK_POWERDOWN;
	if (bd->props.fb_blank == FB_BLANK_POWERDOWN)
		intensity = FB_BLANK_POWERDOWN;

	if (intensity == FB_BLANK_UNBLANK) { /* FULL ON */
		cur &= ~CRVML_BACKLIGHT_OFF;
		outl(cur, addr);
	} else if (intensity == FB_BLANK_POWERDOWN) { /* OFF */
	if (backlight_get_brightness(bd) == 0) {
		/* OFF */
		cur |= CRVML_BACKLIGHT_OFF;
		outl(cur, addr);
	} /* anything else, don't bother */
	} else {
		/* FULL ON */
		cur &= ~CRVML_BACKLIGHT_OFF;
		outl(cur, addr);
	}

	return 0;
}
@@ -90,9 +83,9 @@ static int cr_backlight_get_intensity(struct backlight_device *bd)
	u8 intensity;

	if (cur & CRVML_BACKLIGHT_OFF)
		intensity = FB_BLANK_POWERDOWN;
		intensity = 0;
	else
		intensity = FB_BLANK_UNBLANK;
		intensity = 1;

	return intensity;
}