Re: [PATCH] leds: pwm-multicolor: fix multicolor PWM LED lights up without any setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 8/22/24 01:11, Lee Jones wrote:
On Fri, 16 Aug 2024, FUKAUMI Naoki wrote:

from drivers/leds/leds-pwm.c:led_pwm_set(),

/*
  * Disabling a PWM doesn't guarantee that it emits the inactive level.
  * So keep it on. Only for suspending the PWM should be disabled because
  * otherwise it refuses to suspend. The possible downside is that the
  * LED might stay (or even go) on.
  */

do the same in led_pwm_mc_set().

this fixes LEDs light up without any setting (i.e. brightness is 0) on
Radxa E25.

Please redraft the commit message into proper sentences, complete with
correct grammar.  All sentences should start with an uppercase char.

Thank you for your review!

I'll do it in next ver.

Copying comment-blocks into commit messages to save authors from writing
one isn't really the done thing.

Sorry, I could not understand this part. What should I do for this?

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

Signed-off-by: FUKAUMI Naoki <naoki@xxxxxxxxx>
---
  drivers/leds/rgb/leds-pwm-multicolor.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/leds/rgb/leds-pwm-multicolor.c b/drivers/leds/rgb/leds-pwm-multicolor.c
index e1a81e0109e8..7155339c075e 100644
--- a/drivers/leds/rgb/leds-pwm-multicolor.c
+++ b/drivers/leds/rgb/leds-pwm-multicolor.c
@@ -50,7 +50,7 @@ static int led_pwm_mc_set(struct led_classdev *cdev,
  			duty = priv->leds[i].state.period - duty;
priv->leds[i].state.duty_cycle = duty;
-		priv->leds[i].state.enabled = duty > 0;
+		priv->leds[i].state.enabled = !(cdev->flags & LED_SUSPENDED);
  		ret = pwm_apply_might_sleep(priv->leds[i].pwm,
  					    &priv->leds[i].state);
  		if (ret)
--
2.43.0






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux