linux/Documentation/devicetree/bindings/leds
Linus Torvalds b546608ea2 LEDs for v6.16
* LED Triggers:
     * Allow writing "default" to the sysfs 'trigger' attribute to set an LED to its default trigger
     * If the default trigger is "none", writing "default" will remove the current trigger
     * Updated sysfs ABI documentation for the new "default" trigger functionality
   * LED KUnit Testing:
     * Provide a skeleton KUnit test suite for the LEDs framework
     * Expand the LED class device registration KUnit test to cover more scenarios, including
       `brightness_get` behavior
     * Add KUnit tests for the LED lookup and get API (`led_add_lookup`, `devm_led_get`)
   * LED Flash Class:
     * Add support for setting flash/strobe duration through a new `duration_set` op and
       `led_set_flash_duration()` function, aligning with `V4L2_CID_FLASH_DURATION`
   * Texas Instruments TPS6131x:
     * Add a new driver for the TPS61310/TPS61311 flash LED controllers
     * The driver supports the device's three constant-current sinks for flash and torch modes
 
   * LED Core:
     * Prevent potential `snprintf()` truncations in LED names by checking for buffer overflows
   * ChromeOS EC LEDs:
     * Avoid a -Wflex-array-member-not-at-end GCC warning by replacing an on-stack flexible structure
       definition with a utility function call
   * Multicolor LEDs:
     * Fix issue where setting multi_intensity while software blinking is active could stop blinking
   * PCA955x LEDs:
     * Avoid potential buffer overflow when creating default labels by changing a field's type to
       `u8` and updating format specifiers
   * PCA995x LEDs:
     * Fix a typo (stray space) in an `of_device_id` entry in the `pca995x_of_match` table
   * Kconfig:
     * Prevent LED drivers from being enabled by default when `COMPILE_TEST` is set
 
   * Device Property API:
     * Split `device_get_child_node_count()` into a new helper `fwnode_get_child_node_count()` that
       doesn't require a device struct, making the API more symmetrical
   * Driver Modernization (using `fwnode_get_child_node_count()`):
     * Update `leds-pwm-multicolor`, `leds-ncp5623` and `leds-ncp5623` to use the new
       `fwnode_get_child_node_count()` helper, removing their custom implementation
     * As above in the USB Type-C TCPM driver
   * Driver Modernization (using new GPIO setter callbacks):
     * Convert `leds-lgm-sso` to use new GPIO line value setter callbacks which return an integer
       for error handling
     * Convert `leds-pca955x`, `leds-pca9532` and `leds-tca6507` to use new GPIO setter callbacks
   * Documentation:
     * Remove the `.rst` extension for `leds-st1202` in the documentation index for consistency
   * LP8860 LEDs:
     * Use `regmap_multi_reg_write()` for EEPROM writes instead of manual looping
     * Use scoped mutex guards and `devm_mutex_init()` to simplify function exits and ensure
       automatic cleanup
     * Remove default register definitions that are unused when regmap caching is not active
     * Use `devm_regulator_get_enable_optional()` to handle the optional regulator, simplifying
       enabling and removing manual disabling
     * Refactor `lp8860_unlock_eeprom()` to only perform the unlock operation, removing the lock
       part and an unnecessary parameter
     * Use a `devm` action to disable the enable-GPIO, simplifying cleanup and error paths, and
       remove the now-empty `.remove()` function
   * Turris Omnia LEDs:
     * Drop unnecessary commas in terminator entries of `struct attribute` and
       `struct of_device_id` arrays
   * MT6370 RGB LEDs:
     * Use the `LINEAR_RANGE()` for defining `struct linear_range` entries to improve robustness
 
   * Texas Instruments TPS6131x:
     * Add new devicetree bindings for the TI TPS61310/TPS61311 flash LED driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmg+xocACgkQUa+KL4f8
 d2HbmA/+KfKGT6C3q7TdWgCrrEvYk0CIfJ7g3cTjcQVjCg2uojHVgvGEgX6i2M5e
 bYbLKfoh1JhSjGErPadE3VExSCFAkNhHIH5k81sEPbzDTI/PscLdWNuv0T/ZhZn+
 xHcl721Du9w/7TK+IN1VBiz5oTfvPbca+2hLGmyJAWgGetNJdHmZlJkJpSmWEeaj
 SbNQ3c4zy0LQyMfWISUdOH4nmL2E2D5dsIOxGEER7E0djLy5ZPomVwdgotTys6/4
 1xFAnZTw6MlnO3tCQ5R0SCRadc7NRp6XFeyGCk0JyKTju/OXLoB0QVJSORZ5WBsQ
 0z6ILnt8+2xG5GS69zoSk3J5eSNsswvxO+v6GOTSvL3+Cf2UXZpsIMYFoGq2ol0p
 qjHFJnenOpCbUl84vCRvG87vtHi9cdpgyatejU/vSg9Mtokrjuh/yz73HIrr/+Pr
 rwq/PZ5FkCj/pIWyTYUMivS/qfC0qs71Btee9eGNxmQgzKli0E+KtduqQtE733VA
 BH6lYhAFGALx+KLZLuVJdJ5EVgM4Ui+mWHX9ztPIVJ1NDCq0SahqGK6JskPvi+L5
 fgB2jImDggjcDSYcVyM4cu4p73nN3Mbadu7ZvAEuFSzrJS1IlHpYvyYGhpuaw6Nn
 r6dscjnKSwFT6ANbVKB21x7YqZmKNgnD3IhRskmTfSPAGu4kEoA=
 =iVDb
 -----END PGP SIGNATURE-----

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

Pull LED updates from Lee Jones:
 "LED Triggers:
   - Allow writing "default" to the sysfs 'trigger' attribute to set an
     LED to its default trigger
   - If the default trigger is "none", writing "default" will remove the
     current trigger
   - Updated sysfs ABI documentation for the new "default" trigger
     functionality

  LED KUnit Testing:
   - Provide a skeleton KUnit test suite for the LEDs framework
   - Expand the LED class device registration KUnit test to cover more
     scenarios, including 'brightness_get' behavior
   - Add KUnit tests for the LED lookup and get API ('led_add_lookup',
     'devm_led_get')

  LED Flash Class:
   - Add support for setting flash/strobe duration through a new
     'duration_set' op and 'led_set_flash_duration()' function, aligning
     with 'V4L2_CID_FLASH_DURATION'

  Texas Instruments TPS6131x:
   - Add a new driver for the TPS61310/TPS61311 flash LED controllers
   - The driver supports the device's three constant-current sinks for
     flash and torch modes

  LED Core:
   - Prevent potential 'snprintf()' truncations in LED names by checking
     for buffer overflows

  ChromeOS EC LEDs:
   - Avoid a -Wflex-array-member-not-at-end GCC warning by replacing an
     on-stack flexible structure definition with a utility function call

  Multicolor LEDs:
   - Fix issue where setting multi_intensity while software blinking is
     active could stop blinking

  PCA955x LEDs:
   - Avoid potential buffer overflow when creating default labels by
     changing a field's type to 'u8' and updating format specifiers

  PCA995x LEDs:
   - Fix a typo (stray space) in an 'of_device_id' entry in the
     'pca995x_of_match' table

  Kconfig:
   - Prevent LED drivers from being enabled by default when
     'COMPILE_TEST' is set

  Device Property API:
   - Split 'device_get_child_node_count()' into a new helper
     'fwnode_get_child_node_count()' that doesn't require a device
     struct, making the API more symmetrical

  Driver Modernization (using 'fwnode_get_child_node_count()'):
   - Update 'leds-pwm-multicolor', 'leds-ncp5623' and 'leds-ncp5623' to
     use the new 'fwnode_get_child_node_count()' helper, removing their
     custom implementation
   - As above in the USB Type-C TCPM driver

  Driver Modernization (using new GPIO setter callbacks):
   - Convert 'leds-lgm-sso' to use new GPIO line value setter callbacks
     which return an integer for error handling
   - Convert 'leds-pca955x', 'leds-pca9532' and 'leds-tca6507' to use
     new GPIO setter callbacks

  Documentation:
   - Remove the '.rst' extension for 'leds-st1202' in the documentation
     index for consistency

  LP8860 LEDs:
   - Use 'regmap_multi_reg_write()' for EEPROM writes instead of manual
     looping
   - Use scoped mutex guards and 'devm_mutex_init()' to simplify
     function exits and ensure automatic cleanup
   - Remove default register definitions that are unused when regmap
     caching is not active
   - Use 'devm_regulator_get_enable_optional()' to handle the optional
     regulator, simplifying enabling and removing manual disabling
   - Refactor 'lp8860_unlock_eeprom()' to only perform the unlock
     operation, removing the lock part and an unnecessary parameter
   - Use a 'devm' action to disable the enable-GPIO, simplifying cleanup
     and error paths, and remove the now-empty '.remove()' function

  Turris Omnia LEDs:
   - Drop unnecessary commas in terminator entries of 'struct attribute'
     and 'struct of_device_id' arrays

  MT6370 RGB LEDs:
   - Use the 'LINEAR_RANGE()' for defining 'struct linear_range' entries
     to improve robustness

  Texas Instruments TPS6131x:
   - Add new devicetree bindings for the TI TPS61310/TPS61311 flash LED
     driver"

* tag 'leds-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (31 commits)
  leds: tps6131x: Add support for Texas Instruments TPS6131X flash LED driver
  dt-bindings: leds: Add Texas Instruments TPS6131x flash LED driver
  leds: flash: Add support for flash/strobe duration
  leds: rgb: leds-mt6370-rgb: Improve definition of some struct linear_range
  leds: led-test: Provide tests for the lookup and get infrastructure
  leds: led-test: Fill out the registration test to cover more test cases
  leds: led-test: Remove standard error checking after KUNIT_ASSERT_*()
  leds: pca995x: Fix typo in pca995x_of_match's of_device_id entry
  leds: Provide skeleton KUnit testing for the LEDs framework
  leds: tca6507: Use new GPIO line value setter callbacks
  leds: pca9532: Use new GPIO line value setter callbacks
  leds: pca955x: Use new GPIO line value setter callbacks
  leds: lgm-sso: Use new GPIO line value setter callbacks
  leds: Do not enable by default during compile testing
  leds: turris-omnia: Drop commas in the terminator entries
  leds: lp8860: Disable GPIO with devm action
  leds: lp8860: Only unlock in lp8860_unlock_eeprom()
  leds: lp8860: Enable regulator using enable_optional helper
  leds: lp8860: Remove default regs when not caching
  leds: lp8860: Use new mutex guards to cleanup function exits
  ...
2025-06-03 12:10:31 -07:00
..
backlight dt-bindings: backlight: add TI LP8864/LP8866 LED-backlight drivers 2025-04-22 09:40:08 -05:00
irled dt-bindings: media: remove nokia,n900-ir as pwm-ir-tx is compatible 2023-09-27 09:40:02 +02:00
allwinner,sun50i-a100-ledc.yaml dt-bindings: leds: Add Allwinner A100 LED controller 2023-12-13 11:28:28 +00:00
ams,as3645a.txt
awinic,aw200xx.yaml dt-bindings: Fix various typos 2024-09-13 14:01:34 -05:00
common.txt
common.yaml dt-bindings: leds: Add 'active-high' property 2024-10-15 09:58:15 +01:00
cznic,turris-omnia-leds.yaml dt-bindings: leds: cznic,turris-omnia-leds: Allow interrupts property 2024-12-12 18:37:36 +00:00
issi,is31fl319x.yaml
kinetic,ktd202x.yaml dt-bindings: leds: Add Kinetic KTD2026/2027 LED 2023-11-01 11:29:07 +00:00
kinetic,ktd2692.yaml
leds-aw2013.yaml
leds-bcm6328.yaml dt-bindings: net: phy: Make LED active-low property common 2024-01-26 21:03:31 -08:00
leds-bcm6358.txt dt-bindings: net: phy: Make LED active-low property common 2024-01-26 21:03:31 -08:00
leds-bcm63138.yaml dt-bindings: leds: bcm63138: Add shift register bits 2024-10-11 08:37:00 +01:00
leds-class-multicolor.yaml dt-bindings: leds: class-multicolor: Fix path to color definitions 2024-12-11 12:23:08 +00:00
leds-cpcap.txt
leds-cr0014114.txt
leds-el15203000.txt
leds-gpio.yaml
leds-group-multicolor.yaml
leds-is31fl32xx.txt
leds-lgm.yaml
leds-lm3532.txt
leds-lm3601x.txt
leds-lm3697.txt
leds-lm36274.txt
leds-lp50xx.yaml
leds-lp55xx.yaml dt-bindings: leds-lp55xx: Add new ti,lp5569 compatible 2024-06-26 17:08:30 +01:00
leds-lt3593.txt
leds-max77650.yaml
leds-mt6360.yaml
leds-netxbig.txt
leds-ns2.txt
leds-powernv.txt
leds-pwm-multicolor.yaml dt-bindings: leds: pwm-multicolour: re-allow active-low 2024-03-04 08:59:32 +00:00
leds-pwm.yaml dt-bindings: leds: pwm: Add default-brightness property 2024-11-12 12:14:00 +00:00
leds-qcom-lpg.yaml dt-bindings: leds: qcom-lpg: Document PM8937 PWM compatible 2025-02-20 15:15:10 +00:00
leds-rt4505.yaml
leds-sgm3140.yaml
leds-spi-byte.txt
leds-trigger-pattern.txt
maxim,max77693.yaml
mediatek,mt6370-flashlight.yaml
mediatek,mt6370-indicator.yaml
nxp,pca953x.yaml
nxp,pca955x.yaml dt-bindings: leds: pca955x: Convert text bindings to YAML 2024-10-31 14:33:59 +00:00
nxp,pca963x.yaml dt-bindings: leds: pca963x: Convert text bindings to YAML 2024-04-12 09:47:09 +01:00
nxp,pca995x.yaml dt-bindings: leds: pca995x: Add new nxp,pca9956b compatible 2024-08-01 13:40:04 +01:00
onnn,ncp5623.yaml dt-bindings: leds: Add NCP5623 multi-LED Controller 2024-03-07 08:48:17 +00:00
panasonic,an30259a.yaml
qcom,pm8058-led.yaml
qcom,spmi-flash-led.yaml dt-bindings: leds: qcom,spmi-flash-led: Add pm660l compatible 2024-12-12 17:34:33 +00:00
register-bit-led.yaml dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema 2023-11-01 10:02:18 +00:00
regulator-led.yaml
richtek,rt8515.yaml
rohm,bd2606mvv.yaml
rohm,bd71828-leds.yaml
silergy,sy7802.yaml dt-bindings: leds: Add Silergy SY7802 flash LED 2024-06-26 17:04:38 +01:00
skyworks,aat1290.yaml
sprd,sc2731-bltc.yaml dt-bindings: mfd: sprd,sc2731: Convert to YAML 2024-11-12 14:48:45 +00:00
st,led1202.yaml dt-bindings: leds: Add LED1202 LED Controller 2025-01-09 10:30:23 +00:00
ti,lp8860.yaml dt-bindings: leds: Convert LP8860 into YAML format 2025-01-09 10:36:10 +00:00
ti,tca6507.yaml
ti,tlc59116.yaml dt-bindings: leds: Convert leds-tlc591xx.txt to yaml format 2025-02-11 15:07:37 +00:00
ti,tps61310.yaml dt-bindings: leds: Add Texas Instruments TPS6131x flash LED driver 2025-05-22 09:24:44 +01:00
ti.lm36922.yaml dt-bindings: leds: Convert leds-lm3692x to YAML format 2024-08-22 14:55:12 +01:00
trigger-source.yaml