linux/drivers/leds
Linus Torvalds 7cc2726d48 LEDs for v7.3
- New Support & Features
   - Core: Extend netdev trigger speeds up to 100G.
   - PWM Multicolor: Introduce default-intensity property.
   - Analog Devices LTC3220: Add support for 18 channel LED driver.
   - NXP PCA963x: Add multicolor LED class support.
 
 - Improvements & Fixes
   - GPIO: Clear error pointers for skipped LEDs.
   - Broadcom BCM63138: Use %pe to print pinctrl error instead of %ld.
   - ISSI IS31FL319x: Modernize device registration by using fwnode APIs.
   - NXP PCA9532: Fix inverted GPIO output polarity.
   - NXP PCA9532: Fix phantom device registration on missing hardware.
   - STMicroelectronics ST1202: Correct and extend hw_pattern documentation.
   - STMicroelectronics ST1202: Fix channel disable logic on zero brightness and ensure
     brightness changes are applied in active mode.
   - STMicroelectronics ST1202: Fix hardware pattern sequence programming, validate inputs,
     and correct pattern duration calculations.
   - STMicroelectronics ST1202: Validate LED reg property against channel count.
   - TI LP5860: Fix a potential double-unlock during device initialization and fix error
     handling path by using devm_mutex_init().
 
 - Cleanups & Refactoring
   - GPIO: Make legacy gpiolib interface optional.
 
 - Device Tree Binding Updates
   - Core: Add default-intensity property.
   - Core: Document "gpio" trigger.
   - Analog Devices LTC3220: Add DT binding for LTC3220 18 channel LED Driver.
   - Broadcom BCM6358: Convert to DT schema.
   - LaCie NS2: Convert to DT schema.
   - NXP PCA963x: Add multicolor LED support.
   - NXP PCA963x: Fix reg maximum for pca9635.
   - TI TPS65217: Convert backlight bindings to DT schema.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmqPE1kACgkQUa+KL4f8
 d2G/sA/+JvJYo1XzwrV4+exEg62y083pNJgT+sfjXDkfq2wJ0Vqapms5DB1/8WW6
 KjWMO3om6IUW2Ao9Z8MU7R01fyssfylm0nlVZnrqJz/taLTyaV0/c31E2+QdZsBF
 0hWp+SfhMHOJHxLHRQl2uGDerx/je/b0WrxlZGmgRuNcIBm/RGp/MJR0yf6F3pNc
 LWExdXOD9ugG03BB2JzlEuIuHSgWwIxgNtm5v9Fv4gRTZRA9VWccDuMRHgH21Bwk
 pOP3gDBtxZmDUFWW+FE2ODdTZPXNwJ6u2dMpynuQs/IcM5TSBqsAmPlbF41cmLMC
 N3iMkf5BDBgkDCatjwzYadBCo8siHuNLvSLUghH0maX37cPQ1PoN28T8wD9nHVEJ
 SreF29nwXbzg31N2cD8e3McxqzY0VfYiDRK1ztjqXuN8RXweTIF4MUiFgHlcb+va
 LWONWbvLPZW+gu3knDAzSoMtBFPcH1obU99wxyYSpDHmjU7XIvKNzxBjNEYBupe3
 8+RizuDAoFIZaTz7omBccmF/NMLHqsr0l8oyL67V29FYp4nyZemyRmLE6N0vE0Zn
 vWBECaS8kwQwPKUxgreNObaviooreytgeC9H4KOcsLfEcHqKMYTDAOk5Y7SAVUtp
 6KC7CE/6nZK9bAsL97Qzww15mkEqT34ne7wYEg5RiPPo15VBToM=
 =Tm6g
 -----END PGP SIGNATURE-----

Merge tag 'leds-next-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds

Pull LED updates from Lee Jones:
 "New Support & Features:
   - Core: Extend netdev trigger speeds up to 100G
   - PWM Multicolor: Introduce default-intensity property
   - Analog Devices LTC3220: Add support for 18 channel LED driver
   - NXP PCA963x: Add multicolor LED class support

  Improvements & Fixes:
   - GPIO: Clear error pointers for skipped LEDs
   - Broadcom BCM63138: Use %pe to print pinctrl error instead of %ld
   - ISSI IS31FL319x: Modernize device registration by using fwnode APIs
   - NXP PCA9532: Fix inverted GPIO output polarity
   - NXP PCA9532: Fix phantom device registration on missing hardware
   - STMicroelectronics ST1202: Correct and extend hw_pattern
     documentation
   - STMicroelectronics ST1202: Fix channel disable logic on zero
     brightness and ensure brightness changes are applied in active mode
   - STMicroelectronics ST1202: Fix hardware pattern sequence
     programming, validate inputs, and correct pattern duration
     calculations
   - STMicroelectronics ST1202: Validate LED reg property against
     channel count
   - TI LP5860: Fix a potential double-unlock during device
     initialization and fix error handling path by using
     devm_mutex_init()

  Cleanups & Refactoring:
   - GPIO: Make legacy gpiolib interface optional

  Device Tree Binding Updates:
   - Core: Add default-intensity property
   - Core: Document "gpio" trigger
   - Analog Devices LTC3220: Add DT binding for LTC3220 18 channel LED
     driver
   - Broadcom BCM6358: Convert to DT schema
   - LaCie NS2: Convert to DT schema
   - NXP PCA963x: Add multicolor LED support
   - NXP PCA963x: Fix reg maximum for pca9635
   - TI TPS65217: Convert backlight bindings to DT schema"

* tag 'leds-next-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (29 commits)
  leds: is31fl319x: Modernize registration
  dt-bindings: leds: lacie,ns2-leds: Convert to DT schema
  leds: pca963x: Add multicolor LED class support
  dt-bindings: leds: nxp,pca963x: Add multicolor LED support
  dt-bindings: leds: nxp,pca963x: Fix reg maximum for pca9635
  leds: gpio: Clear error pointers for skipped LEDs
  dt-bindings: leds: backlight: Convert TPS65217 to DT schema
  leds: pca9532: Fix phantom device registration on missing hardware
  leds: gpio: Make legacy gpiolib interface optional
  leds: bcm63138: Use %pe to print pinctrl error instead of %ld
  dt-bindings: leds: Add default-intensity property
  leds: ltc3220: Add Support for LTC3220 18 channel LED Driver
  dt-bindings: leds: Add LTC3220 18 channel LED Driver
  dt-bindings: leds: bcm6358: Convert to DT schema
  dt-bindings: leds: Document "gpio" trigger
  leds: st1202: Correct and extend hw_pattern documentation
  leds: st1202: Validate LED reg property against channel count
  leds: st1202: Disable channel when brightness is set to zero
  leds: st1202: Fix brightness having no effect while pattern mode is active
  leds: st1202: Fix spurious pattern sequence start in setup
  ...
2026-08-27 11:05:51 -07:00
..
blink leds: bcm63138: Use %pe to print pinctrl error instead of %ld 2026-07-23 13:26:56 +01:00
flash Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
rgb LEDs for v7.3 2026-08-27 11:05:51 -07:00
simatic leds: Rename simple directory to simatic 2025-03-21 09:21:56 +00:00
trigger leds: trigger: netdev: Extend speeds up to 100G 2026-07-01 21:24:28 +01:00
.kunitconfig leds: Provide skeleton KUnit testing for the LEDs framework 2025-05-14 09:25:02 +01:00
Kconfig leds: pca963x: Add multicolor LED class support 2026-08-06 15:13:41 +01:00
led-class-flash.c leds: flash: Add support for flash/strobe duration 2025-05-14 09:25:09 +01:00
led-class-multicolor.c leds: Introduce the multi_max_intensity sysfs attribute 2026-06-17 11:28:52 +01:00
led-class.c leds: core: Report ENODATA for brightness of hardware controlled LED 2026-06-17 11:29:42 +01:00
led-core.c leds: core: Fix race condition for software blink 2026-06-17 11:29:05 +01:00
led-test.c leds: led-test: Provide tests for the lookup and get infrastructure 2025-05-14 09:25:07 +01:00
led-triggers.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
leds-88pm860x.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-acer-a500.c
leds-adp5520.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-an30259a.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-apu.c leds: apu: Remove duplicate DMI lookup data 2024-04-12 09:47:15 +01:00
leds-ariel.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-as3668.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-aw200xx.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-aw2013.c leds: aw2013: Simplify with scoped for each OF child loop 2024-08-22 14:23:03 +01:00
leds-bcm6328.c leds: bcm6328: Replace divide condition with comparison for shift value 2024-10-31 16:22:23 +00:00
leds-bcm6358.c leds: bcm6358: Simplify with scoped for each OF child loop 2024-08-22 14:23:05 +01:00
leds-bd2606mvv.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-bd2802.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-blinkm.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-cht-wcove.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-clevo-mail.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
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 Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-cros_ec.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-da903x.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-da9052.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-dac124s085.c leds: dac124s085: Declare SPI command word as __le16 2026-06-17 11:28:59 +01:00
leds-el15203000.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-expresswire.c leds: expresswire: Fix chip state breakage 2026-02-04 09:20:27 +00:00
leds-gpio-register.c leds: leds-gpio-register: Reorganize kerneldoc parameter names 2024-10-10 14:42:33 +01:00
leds-gpio.c LEDs for v7.3 2026-08-27 11:05:51 -07:00
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: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-is31fl319x.c LEDs for v7.3 2026-08-27 11:05:51 -07:00
leds-lm355x.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lm3530.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lm3532.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lm3533.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-lm3642.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lm3692x.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-lm3697.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-lm36274.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-locomo.c
leds-lp50xx.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-lp55xx-common.c leds: lp55xx: Simplify with scoped for each OF child loop 2026-02-04 09:20:56 +00:00
leds-lp55xx-common.h leds: lp55xx: Use devm_clk_get_enabled() helpers 2024-08-22 14:48:24 +01:00
leds-lp3944.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp3952.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp5521.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp5523.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp5562.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp5569.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp8501.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp8788.c
leds-lp8860.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lp8864.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-lt3593.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-ltc3220.c leds: ltc3220: Add Support for LTC3220 18 channel LED Driver 2026-07-23 12:17:57 +01:00
leds-max5970.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-max8997.c
leds-max77650.c leds: max77650: Switch to device_for_each_child_node_scoped() 2024-10-09 15:18:29 +01:00
leds-max77705.c leds: Use fwnode_for_each_child_node() instead 2025-10-21 10:46:16 +01:00
leds-mc13783.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-menf21bmc.c
leds-mlxcpld.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-mlxreg.c leds: mlxreg: Use devm_mutex_init() for mutex initialization 2024-04-11 17:35:18 +01:00
leds-mt6323.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-net48xx.c
leds-netxbig.c leds: netxbig: Fix GPIO descriptor leak in error paths 2025-11-13 13:51:12 +00:00
leds-nic78bx.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-ns2.c leds: ns2: Switch to device_for_each_child_node_scoped() 2024-10-09 15:18:37 +01:00
leds-ot200.c
leds-pca955x.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-pca963x.c leds: pca963x: Add multicolor LED class support 2026-08-06 15:13:41 +01:00
leds-pca995x.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-pca9532.c leds: pca9532: Fix phantom device registration on missing hardware 2026-07-23 14:51:00 +01:00
leds-pm8058.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-powernv.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-pwm.c leds: pwm: Reorder include files to alphabetic order 2025-11-20 12:20:24 +00:00
leds-qnap-mcu.c leds: qnap-mcu: Add support for the red and green status LEDs 2025-09-02 08:54:46 +01:00
leds-rb532.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-regulator.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-sc27xx-bltc.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-spi-byte.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-ss4200.c leds: ss4200: Fix the wrong format specifier for 'blinking' 2024-11-12 14:39:26 +00:00
leds-st1202.c leds: st1202: Validate LED reg property against channel count 2026-07-09 10:52:23 +01:00
leds-sun50i-a100.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
leds-sunfire.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-syscon.c leds: syscon: Support 'reg' in addition to 'offset' for register address 2023-12-13 11:28:26 +00:00
leds-tca6507.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-ti-lmu-common.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-tlc591xx.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-tps6105x.c
leds-turris-omnia.c leds: Use named initializers for arrays of i2c_device_data 2026-06-17 11:29:48 +01:00
leds-upboard.c leds: upboard: Fix module alias 2025-10-25 12:42:34 +01:00
leds-wm831x-status.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-wm8350.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-wrap.c
leds.h leds: triggers: Constify 'struct bin_attribute' 2025-01-09 11:09:09 +00:00
Makefile leds: ltc3220: Add Support for LTC3220 18 channel LED Driver 2026-07-23 12:17:57 +01:00
TODO
uleds.c leds: uleds: Fix potential buffer overread 2026-06-17 11:30:08 +01:00