linux/drivers/leds
Hans de Goede ef381e1793 leds: led-class: Add Device Tree support to led_get()
Add 'name' argument to of_led_get() such that it can lookup LEDs in
devicetree by either name or index.

And use this modified function to add devicetree support to the generic
(non devicetree specific) [devm_]led_get() function.

This uses the standard devicetree pattern of adding a -names string array
to map names to the indexes for an array of resources.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com>
Link: https://lore.kernel.org/r/20250910-leds-v5-3-bb90a0f897d5@vinarskis.com
Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16 16:49:28 +01:00
..
blink treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
flash leds: flash: leds-qcom-flash: Add a separate register map for PMI8998 2025-08-18 09:49:12 +01:00
rgb leds: rgb: leds-mt6370-rgb: Improve definition of some struct linear_range 2025-05-14 09:25:08 +01:00
simatic leds: Rename simple directory to simatic 2025-03-21 09:21:56 +00:00
trigger Revert "leds: trigger: netdev: Configure LED blink interval for HW offload" 2025-07-18 14:26:32 +01:00
.kunitconfig leds: Provide skeleton KUnit testing for the LEDs framework 2025-05-14 09:25:02 +01:00
Kconfig leds: Kconfig: Fix spelling mistake "limitiation" -> "limitation" 2025-08-18 09:48:13 +01:00
Makefile leds: Provide skeleton KUnit testing for the LEDs framework 2025-05-14 09:25:02 +01:00
TODO
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: multicolor: Fix intensity setting while SW blinking 2025-05-14 09:24:45 +01:00
led-class.c leds: led-class: Add Device Tree support to led_get() 2025-09-16 16:49:28 +01:00
led-core.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02: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 leds: led-triggers: Improvements for default trigger 2025-04-15 17:57:54 +01: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: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-21 11:57:11 +01:00
leds-apu.c leds: apu: Remove duplicate DMI lookup data 2024-04-12 09:47:15 +01:00
leds-ariel.c
leds-aw200xx.c leds: aw200xx: don't use return with gpiod_set_value() variants 2025-02-26 11:17:39 +01: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 leds: bd2606mvv: Fix device child node usage in bd2606mvv_probe() 2024-08-01 13:40:07 +01:00
leds-bd2802.c leds: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-21 11:57:11 +01:00
leds-blinkm.c leds: Add multicolor support to BlinkM LED driver 2024-08-01 13:40:02 +01:00
leds-cht-wcove.c leds: cht-wcove: Use devm_led_classdev_register() to avoid memory leak 2025-01-09 10:57:16 +00: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-cr0014114.c leds: cr0014114: Switch to device_for_each_child_node_scoped() 2024-10-09 15:16:59 +01:00
leds-cros_ec.c leds: leds-cros_ec: Avoid -Wflex-array-member-not-at-end warning 2025-04-15 17:57:57 +01: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-el15203000.c leds: el15203000: Switch to device_for_each_child_node_scoped() 2024-10-09 15:17:06 +01:00
leds-expresswire.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
leds-gpio-register.c leds: leds-gpio-register: Reorganize kerneldoc parameter names 2024-10-10 14:42:33 +01:00
leds-gpio.c - Removed unused local header files from various drivers. 2024-11-22 16:25:20 -08:00
leds-hp6xx.c
leds-ip30.c
leds-ipaq-micro.c
leds-is31fl32xx.c leds: leds-is31fl32xx: Add support for is31fl3236a 2025-08-18 09:48:11 +01:00
leds-is31fl319x.c leds: is31fl319x: Use devm_mutex_init() 2025-09-11 16:18:13 +01:00
leds-lm355x.c
leds-lm3530.c leds: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-21 11:57:11 +01:00
leds-lm3532.c leds: lm3532: Switch to device_for_each_child_node_scoped() 2024-10-09 15:17:20 +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: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-21 11:57:11 +01:00
leds-lm3692x.c leds: lm392x: Convert to use maple tree register cache 2023-11-01 11:29:02 +00:00
leds-lm3697.c leds: lm3697: Switch to device_for_each_child_node_scoped() 2024-10-09 15:17:27 +01:00
leds-lm36274.c
leds-locomo.c
leds-lp50xx.c leds: leds-lp50xx: Handle reg to get correct multi_index 2025-06-27 13:58:31 +01:00
leds-lp55xx-common.c leds: leds-lp55xx: Use correct address for memory programming 2025-09-02 13:26:25 +01: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: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-21 11:57:11 +01:00
leds-lp3952.c leds: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-21 11:57:11 +01:00
leds-lp5521.c leds: leds-lp55xx: Convert mutex lock/unlock to guard API 2024-07-11 12:46:25 +01:00
leds-lp5523.c leds: leds-lp55xx: Convert mutex lock/unlock to guard API 2024-07-11 12:46:25 +01:00
leds-lp5562.c leds: lp5562: Add multicolor brightness control 2024-10-15 12:58:41 +01:00
leds-lp5569.c leds: leds-lp5569: Enable chip after chip configuration 2024-07-12 08:32:37 +01:00
leds-lp8501.c leds: leds-lp55xx: Drop deprecated defines 2024-06-26 17:08:31 +01:00
leds-lp8788.c
leds-lp8860.c leds: lp8860: Check return value of devm_mutex_init() 2025-07-11 15:11:19 -07:00
leds-lp8864.c leds: lp8864: Add support for Texas Instruments LP8864, LP8864S, LP8866 LED-backlights 2025-01-09 10:43:34 +00:00
leds-lt3593.c
leds-max5970.c leds: max5970: Fix unreleased fwnode_handle in probe function 2024-11-06 08:13:14 +00: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: max77705: Function return instead of variable assignment 2025-08-18 09:49:04 +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 leds: mlxcpld: Remove unused ACPI header inclusion 2025-03-21 09:48:11 +00: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 an OF node reference leak in netxbig_leds_get_of_pdata() 2024-12-17 15:01:11 +00:00
leds-nic78bx.c leds: nic78bx: Tidy up ACPI ID table 2025-03-21 09:49:37 +00: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 treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
leds-pca963x.c leds: pca963x: Switch to device_for_each_child_node_scoped() 2024-10-09 15:18:44 +01:00
leds-pca995x.c leds: pca995x: Fix typo in pca995x_of_match's of_device_id entry 2025-05-14 09:25:04 +01:00
leds-pca9532.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
leds-pm8058.c
leds-powernv.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01:00
leds-pwm.c leds: pwm: Add optional DT property default-brightness 2024-11-12 12:14:00 +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 leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01: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 leds: spi-byte: Move OF ID table closer to their user 2024-06-26 16:56:07 +01:00
leds-ss4200.c leds: ss4200: Fix the wrong format specifier for 'blinking' 2024-11-12 14:39:26 +00:00
leds-st1202.c * pca955x: Add HW blink support, utilizing PWM0. It supports one frequency 2025-03-29 14:42:59 -07:00
leds-sun50i-a100.c leds: Switch back to struct platform_driver::remove() 2024-10-15 09:58:10 +01: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 treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
leds-ti-lmu-common.c
leds-tlc591xx.c leds: tlc591xx: Replace of_node_put to __free 2024-06-26 16:56:09 +01:00
leds-tps6105x.c
leds-turris-omnia.c leds: turris-omnia: Drop commas in the terminator entries 2025-05-14 09:24:57 +01:00
leds-upboard.c leds: Add AAEON UP board LED driver 2024-12-17 13:17:55 +00: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
uleds.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00