diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2020-07-19 10:07:38 +0200 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2020-07-20 10:27:04 +0100 |
commit | 24d34617c24f9d41953f76f2fbf282334584f5db (patch) | |
tree | d14f7c8ffa955bdb2fede9dfa9f434d30f629788 /drivers/video/backlight/cr_bllcd.c | |
parent | 5a09765ddedd34f176275c72ffbe567e428e2dfc (diff) | |
download | linux-24d34617c24f9d41953f76f2fbf282334584f5db.tar.gz linux-24d34617c24f9d41953f76f2fbf282334584f5db.tar.bz2 linux-24d34617c24f9d41953f76f2fbf282334584f5db.zip |
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: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/video/backlight/cr_bllcd.c')
-rw-r--r-- | drivers/video/backlight/cr_bllcd.c | 25 |
1 files 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; } |