backlight: lm3630a: Turn off both led strings when display is blank
authorMaximilian Weigand <mweigand@mweigand.net>
Wed, 10 May 2023 08:52:39 +0000 (10:52 +0200)
committerLee Jones <lee@kernel.org>
Thu, 25 May 2023 11:25:26 +0000 (12:25 +0100)
Use backlight_is_blank() to determine if the led strings should be turned
off in the update_status() functions of both strings.

Signed-off-by: Maximilian Weigand <mweigand@mweigand.net>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://lore.kernel.org/r/20230510085239.1253896-1-mweigand2017@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/video/backlight/lm3630a_bl.c

index d8c42ac..faf92c8 100644 (file)
@@ -202,7 +202,9 @@ static int lm3630a_bank_a_update_status(struct backlight_device *bl)
        usleep_range(1000, 2000);
        /* minimum brightness is 0x04 */
        ret = lm3630a_write(pchip, REG_BRT_A, bl->props.brightness);
-       if (bl->props.brightness < 0x4)
+
+       if (backlight_is_blank(bl) || (backlight_get_brightness(bl) < 0x4))
+               /* turn the string off  */
                ret |= lm3630a_update(pchip, REG_CTRL, LM3630A_LEDA_ENABLE, 0);
        else
                ret |= lm3630a_update(pchip, REG_CTRL,
@@ -277,7 +279,9 @@ static int lm3630a_bank_b_update_status(struct backlight_device *bl)
        usleep_range(1000, 2000);
        /* minimum brightness is 0x04 */
        ret = lm3630a_write(pchip, REG_BRT_B, bl->props.brightness);
-       if (bl->props.brightness < 0x4)
+
+       if (backlight_is_blank(bl) || (backlight_get_brightness(bl) < 0x4))
+               /* turn the string off  */
                ret |= lm3630a_update(pchip, REG_CTRL, LM3630A_LEDB_ENABLE, 0);
        else
                ret |= lm3630a_update(pchip, REG_CTRL,