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.

v2:
  - reworked to introduce gpio-backlight semantics (Daniel)

Signed-off-by: Sam Ravnborg <s...@ravnborg.org>
Cc: Lee Jones <lee.jo...@linaro.org>
Cc: Daniel Thompson <daniel.thomp...@linaro.org>
Cc: Jingoo Han <jingooh...@gmail.com>
---
 drivers/video/backlight/cr_bllcd.c | 25 +++++++++----------------
 1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/drivers/video/backlight/cr_bllcd.c 
b/drivers/video/backlight/cr_bllcd.c
index 4624b7b7c6a6..a24d42e1ea3c 100644
--- a/drivers/video/backlight/cr_bllcd.c
+++ b/drivers/video/backlight/cr_bllcd.c
@@ -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;
 }
-- 
2.25.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to