diff mbox series

[v1] backlight: lm3630a: turn off both led strings when display is blank

Message ID 20230505185752.969476-1-mweigand2017@gmail.com
State Superseded
Headers show
Series [v1] backlight: lm3630a: turn off both led strings when display is blank | expand

Commit Message

Maximilian Weigand May 5, 2023, 6:57 p.m. UTC
From: Maximilian Weigand <mweigand@mweigand.net>

Use display_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>
---
 drivers/video/backlight/lm3630a_bl.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)


base-commit: 457391b0380335d5e9a5babdec90ac53928b23b4
--
2.39.2

Comments

Daniel Thompson May 9, 2023, 1:27 p.m. UTC | #1
On Fri, May 05, 2023 at 08:57:52PM +0200, Maximilian Weigand wrote:
> From: Maximilian Weigand <mweigand@mweigand.net>
>
> Use display_is_blank() to determine if the led strings should be turned

Shouldn't this be backlight_is_blank()?


> off in the update_status() functions of both strings.

Once the description is fixed this is:
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>


Daniel.
Sam Ravnborg May 9, 2023, 4:52 p.m. UTC | #2
On Fri, May 05, 2023 at 08:57:52PM +0200, Maximilian Weigand wrote:
> From: Maximilian Weigand <mweigand@mweigand.net>
> 
> Use display_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>
> ---
>  drivers/video/backlight/lm3630a_bl.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
> index d8c42acecb5d..5498b57329f9 100644
> --- a/drivers/video/backlight/lm3630a_bl.c
> +++ b/drivers/video/backlight/lm3630a_bl.c
> @@ -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) || (bl->props.brightness < 0x4))
You could replace bl->props.brightness with backlight_get_brightness(bl)
to avoid direct access to the properties.

> +		/* 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) || (bl->props.brightness < 0x4))
Same here

	Sam
Maximilian Weigand May 10, 2023, 8:51 a.m. UTC | #3
>> Use display_is_blank() to determine if the led strings should be turned
> 
> Shouldn't this be backlight_is_blank()?

Yes, indeed. Thanks for pointing this out. Fixed in v2.
Maximilian Weigand May 10, 2023, 8:52 a.m. UTC | #4
>> +	if (backlight_is_blank(bl) || (bl->props.brightness < 0x4))
> You could replace bl->props.brightness with backlight_get_brightness(bl)
> to avoid direct access to the properties.

Thanks. Changed in v2.

>> +		/* 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) || (bl->props.brightness < 0x4))

Thanks. Changed in v2.
diff mbox series

Patch

diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index d8c42acecb5d..5498b57329f9 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -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) || (bl->props.brightness < 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) || (bl->props.brightness < 0x4))
+		/* turn the string off  */
 		ret |= lm3630a_update(pchip, REG_CTRL, LM3630A_LEDB_ENABLE, 0);
 	else
 		ret |= lm3630a_update(pchip, REG_CTRL,