backlight: cr_bllcd: Introduce gpio-backlight semantics
authorSam Ravnborg <sam@ravnborg.org>
Sun, 19 Jul 2020 08:07:38 +0000 (10:07 +0200)
committerLee Jones <lee.jones@linaro.org>
Mon, 20 Jul 2020 09:27:04 +0000 (10:27 +0100)
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: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/video/backlight/cr_bllcd.c

index 4624b7b..a24d42e 100644 (file)
@@ -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;
 }