linux-yocto/drivers/leds
Sven Schwermer a13b2634dd leds: multicolor: Fix intensity setting while SW blinking
[ Upstream commit e35ca991a7 ]

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.

Suggested-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Tobias Deiminger <tobias.deiminger@linutronix.de>
Tested-by: Sven Schuchmann <schuchmann@schleissheimer.de>
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Link: https://lore.kernel.org/r/20250404184043.227116-1-sven@svenschwermer.de
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-07-06 11:00:06 +02:00
..
blink leds: bcm63138: Rename dependency symbol ARCH_BCM4908 to ARCH_BCMBCA 2023-07-28 09:59:58 +01:00
flash leds: flash: mt6360: Fix device_for_each_child_node() refcounting in error paths 2024-12-09 10:33:08 +01:00
rgb leds: pwm-multicolor: Add check for fwnode_property_read_u32 2025-06-04 14:42:04 +02:00
simple - Core Frameworks 2023-09-04 13:52:58 -07:00
trigger leds: trigger: netdev: Configure LED blink interval for HW offload 2025-06-04 14:42:12 +02:00
Kconfig leds: aw2013: Select missing dependency REGMAP_I2C 2024-01-25 15:35:49 -08:00
led-class-flash.c
led-class-multicolor.c leds: multicolor: Fix intensity setting while SW blinking 2025-07-06 11:00:06 +02:00
led-class.c leds: class: Protect brightness_show() with led_cdev->led_access mutex 2024-12-14 20:00:12 +01:00
led-core.c leds: Fix LED_OFF brightness race 2025-04-10 14:37:32 +02:00
led-triggers.c leds: triggers: Flush pending brightness before activating trigger 2024-08-11 12:47:14 +02:00
leds-88pm860x.c
leds-acer-a500.c
leds-adp5520.c
leds-an30259a.c leds: an30259a: Use devm_mutex_init() for mutex initialization 2024-07-11 12:49:02 +02:00
leds-apu.c
leds-ariel.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-aw200xx.c leds: aw200xx: Fix write to DIM parameter 2024-01-25 15:35:49 -08:00
leds-aw2013.c leds: aw2013: Unlock mutex before destroying it 2024-03-26 18:19:55 -04:00
leds-bcm6328.c
leds-bcm6358.c
leds-bd2606mvv.c leds: bd2606mvv: Fix device child node usage in bd2606mvv_probe() 2024-10-04 16:29:27 +02:00
leds-bd2802.c
leds-blinkm.c
leds-cht-wcove.c leds: cht-wcove: Use devm_led_classdev_register() to avoid memory leak 2025-02-08 09:51:56 +01:00
leds-clevo-mail.c
leds-cobalt-qube.c
leds-cobalt-raq.c
leds-cpcap.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-cr0014114.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-da903x.c
leds-da9052.c
leds-dac124s085.c
leds-el15203000.c
leds-gpio-register.c
leds-gpio.c
leds-hp6xx.c
leds-ip30.c leds: ip30: Convert to devm_platform_ioremap_resource() 2023-07-28 09:26:21 +01:00
leds-ipaq-micro.c
leds-is31fl32xx.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-is31fl319x.c
leds-lm355x.c
leds-lm3530.c
leds-lm3532.c
leds-lm3533.c
leds-lm3642.c
leds-lm3692x.c
leds-lm3697.c
leds-lm36274.c
leds-locomo.c
leds-lp50xx.c
leds-lp55xx-common.c leds: lp55xx: Remove redundant test for invalid channel number 2024-12-09 10:33:05 +01:00
leds-lp55xx-common.h
leds-lp3944.c
leds-lp3952.c
leds-lp5521.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01:00
leds-lp5523.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01:00
leds-lp5562.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01:00
leds-lp8501.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01:00
leds-lp8788.c
leds-lp8860.c leds: lp8860: Write full EEPROM, not only half of it 2025-02-17 09:40:14 +01:00
leds-lt3593.c
leds-max8997.c
leds-max77650.c
leds-mc13783.c
leds-menf21bmc.c
leds-mlxcpld.c
leds-mlxreg.c leds: mlxreg: Use devm_mutex_init() for mutex initialization 2024-11-22 15:38:37 +01:00
leds-mt6323.c leds: leds-mt6323: Adjust return/parameter types in wled get/set callbacks 2023-06-23 10:57:14 +01:00
leds-net48xx.c
leds-netxbig.c leds: netxbig: Fix an OF node reference leak in netxbig_leds_get_of_pdata() 2025-02-08 09:51:52 +01:00
leds-nic78bx.c
leds-ns2.c leds: ns2: Slightly simplify a memory allocation 2023-07-28 11:58:04 +01:00
leds-ot200.c
leds-pca955x.c
leds-pca963x.c
leds-pca995x.c leds: pca995x: Fix device child node usage in pca995x_probe() 2024-10-04 16:29:29 +02:00
leds-pca9532.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-pm8058.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-powernv.c
leds-pwm.c leds: pwm: Disable PWM when going to suspend 2024-06-12 11:12:24 +02:00
leds-rb532.c
leds-regulator.c
leds-sc27xx-bltc.c
leds-spi-byte.c leds: spi-byte: Call of_node_put() on error path 2024-09-12 11:11:30 +02:00
leds-ss4200.c leds: ss4200: Convert PCIBIOS_* return codes to errnos 2024-08-03 08:54:18 +02:00
leds-sunfire.c
leds-syscon.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-tca6507.c
leds-ti-lmu-common.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-tlc591xx.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-tps6105x.c
leds-turris-omnia.c leds: turris-omnia: Do not use SMBUS calls 2023-11-20 11:59:24 +01:00
leds-wm831x-status.c
leds-wm8350.c
leds-wrap.c
leds.h
Makefile leds: pca995x: Add support for PCA995X chips 2023-07-28 09:26:28 +01:00
TODO
uleds.c leds: uleds: Use module_misc_device macro to simplify the code 2023-08-18 11:42:54 +01:00