2023-05-05 19:12:37

by Maximilian Weigand

[permalink] [raw]
Subject: [PATCH v1] backlight: lm3630a: turn off both led strings when display is blank

From: Maximilian Weigand <[email protected]>

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 <[email protected]>
---
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))
+ /* 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,

base-commit: 457391b0380335d5e9a5babdec90ac53928b23b4
--
2.39.2


2023-05-09 13:49:17

by Daniel Thompson

[permalink] [raw]
Subject: Re: [PATCH v1] backlight: lm3630a: turn off both led strings when display is blank

On Fri, May 05, 2023 at 08:57:52PM +0200, Maximilian Weigand wrote:
> From: Maximilian Weigand <[email protected]>
>
> 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 <[email protected]>


Daniel.

2023-05-09 16:57:53

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH v1] backlight: lm3630a: turn off both led strings when display is blank

On Fri, May 05, 2023 at 08:57:52PM +0200, Maximilian Weigand wrote:
> From: Maximilian Weigand <[email protected]>
>
> 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 <[email protected]>
> ---
> 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

2023-05-10 09:04:45

by Maximilian Weigand

[permalink] [raw]
Subject: Re: [PATCH v1] backlight: lm3630a: turn off both led strings when display is blank



>> 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.

2023-05-10 09:12:42

by Maximilian Weigand

[permalink] [raw]
Subject: Re: [PATCH v1] backlight: lm3630a: turn off both led strings when display is blank


>> + 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.