Message ID | 20250404184043.227116-1-sven@svenschwermer.de |
---|---|
State | New |
Headers | show |
Series | [v3] led: multicolor: Fix intensity setting while SW blinking | expand |
On Fri, 04 Apr 2025 20:40:36 +0200, Sven Schwermer wrote: > When writing to the multi_intensity file, don't unconditionally call > led_set_brightness. By only doing this if blinking is inactive we > prevent blinking from stopping if the blinking is in its off phase while > the file is written. > > Instead, if blinking is active, the changed intensity values are applied > upon the next blink. This is consistent with changing the brightness on > monochrome LEDs with active blinking. > > [...] Applied, thanks! [1/1] led: multicolor: Fix intensity setting while SW blinking commit: 0b923d52bd15008d5a0e7b0f82e06db10a868d98 -- Lee Jones [李琼斯]
diff --git a/drivers/leds/led-class-multicolor.c b/drivers/leds/led-class-multicolor.c index e317408583df9..5b1479b5d32ca 100644 --- a/drivers/leds/led-class-multicolor.c +++ b/drivers/leds/led-class-multicolor.c @@ -59,7 +59,8 @@ static ssize_t multi_intensity_store(struct device *dev, for (i = 0; i < mcled_cdev->num_colors; i++) mcled_cdev->subled_info[i].intensity = intensity_value[i]; - led_set_brightness(led_cdev, led_cdev->brightness); + if (!test_bit(LED_BLINK_SW, &led_cdev->work_flags)) + led_set_brightness(led_cdev, led_cdev->brightness); ret = size; err_out: mutex_unlock(&led_cdev->led_access);