All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Pavel Machek <pavel@ucw.cz>
Subject: [GIT PULL] LEDs for v7.4
Date: Mon, 26 Oct 2026 15:20:12 +0000	[thread overview]
Message-ID: <20261026152012.GD2195460@google.com> (raw)

Good afternoon Linus,

The following changes since commit cee9395acd8043be0644b25c34bfa86623f2b935:

  Linux 7.3-rc1 (2026-08-30 13:34:40 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git leds-next-7.4

for you to fetch changes up to 59cf91cf87abb67a49b1bb7b9d3b06486abde8cf:

  dt-bindings: leds: lacie,netxbig-leds: Convert to DT schema (2026-10-15 16:53:25 +0100)

----------------------------------------------------------------
LEDs for v7.4

- New Support & Features
  - Core: Add `led_trigger_notify_hw_control_changed()` to allow drivers to notify the
    core of autonomous hardware control transitions
  - Core: Add the `hw_offloaded()` trigger callback and `trigger_may_offload_to_hw` sysfs
    attribute to expose hardware-offloaded triggers
  - Netdev Trigger: Implement the `hw_offloaded()` callback to report hardware control
    state to the LED core
  - Analog Devices LTC3208: Add support for the LTC3208 7-channel multi-display I2C LED
    driver
  - ChromeOS EC: Implement the `hw_offloaded()` callback for the `chromeos-auto` trigger
  - CZ.NIC Turris Omnia: Implement the `hw_offloaded()` callback and declare `omnia-mcu`
    as a hardware control trigger
  - STMicroelectronics ST1202: Add hardware-accelerated blink support via `blink_set()`

- Improvements & Fixes
  - Class: Always hold the `led_access` mutex in `brightness_show()` to avoid exposing
    transient registration states
  - Class: Deactivate active hardware control triggers when writing to the `brightness`
    sysfs attribute
  - Core: Enforce strict validation in `led_trigger_is_hw_controlled()` and warn on legacy
    fallback paths
  - Flash Class: Initialize the fault variable in `flash_fault_show()` to prevent
    undefined behavior when callbacks perform bitwise ORs
  - Kinetic KTD2692: Pass the driver context directly to `regulator_disable_action()` to
    prevent a NULL pointer dereference during error unwinding
  - Maxim MAX77705: Use `fwnode_for_each_child_node_scoped()` in `max77705_add_led()` to
    prevent child node reference leaks on error paths
  - NXP PCA9532: Check the return value of `i2c_smbus_read_byte_data()` in
    `pca9532_getled()` to avoid integer underflow on read errors
  - Qualcomm WLED: Fix a NULL pointer dereference in `wled_remove()` by setting platform
    driver data in `wled_probe()`
  - Qualcomm WLED: Fix the WLED3 brightness register stride to prevent consecutive string
    writes from overlapping
  - Qualcomm WLED: Read back the hardware-programmed brightness at probe, expose it via
    `get_brightness()`, and prevent unbalanced OVP IRQ enabling
  - STMicroelectronics ST1202: Clear unused PWM pattern slots in `pattern_set()` and
    `blink_set()` to prevent unintended output when sharing the global sequencer
  - STMicroelectronics ST1202: Program and cap the channel current according to
    `max_brightness` across brightness, blink, and hardware pattern modes, and scale
    pattern brightness to the 12-bit PWM range
  - STMicroelectronics ST1202: Retain a reference to each child LED firmware node for the
    lifetime of the device
  - STMicroelectronics ST1202: Use only the blocking `brightness_set_blocking()` callback
    to avoid sleeping in atomic context during I2C transfers
  - TI LM3692x: Check the final register write in `lm3692x_leds_enable()` to prevent
    regulator/GPIO leaks and an inconsistent enabled state
  - TI LP8860: Fix a `device_node` reference leak in `lp8860_probe()` using
    `__free(device_node)`

- Cleanups & Refactoring
  - Core: Move `led_trigger_is_hw_controlled()` and `led_trigger_group` from `led-class.c`
    into `led-triggers.c`
  - Core: Replace conditional `set_bit()`/`clear_bit()` patterns with `assign_bit()` and
    `__assign_bit()`
  - Flash Class: Simplify `flash_fault_show()` using `sysfs_emit_at()` and omit the
    trailing space
  - Maintainers: Add Griffin Kroah-Hartman as an LED subsystem reviewer
  - Intel SS4200: Fix a spelling typo in a comment
  - ISSI IS31FL32xx: Convert DT-specific parsing helpers to generic device and fwnode
    property APIs
  - NXP PCA955x: Drop redundant intermediate platform data and allocate the LED array
    using a flexible array member
  - Qualcomm LPG: Convert LED and channel parsing to fwnode APIs and avoid leaving
    `default_trigger` uninitialized
  - Skyworks AAT1290: Use `ARRAY_SIZE()` when allocating `mm_current_scale` to match the
    target pointer type for type-aware allocators
  - STMicroelectronics ST1202: Introduce a `st1202_iled_max()` helper to unify channel
    current ceiling calculations
  - STMicroelectronics ST1202: Standardize variable and macro naming, fix helper spelling,
    and use `u8` consistently instead of `uint8_t`
  - Syscon: Convert from OF-specific property helpers to the generic device property and
    fwnode APIs

- Device Tree Binding Updates
  - Core: Allow PHY RX triggers (`phy[0-9]+rx`) in `linux,default-trigger`
  - Core: Standardize example indentation across multiple LED and backlight binding
    schemas
  - Analog Devices LTC3208: Document the LTC3208 multi-display LED driver
  - LaCie netxbig: Convert LED bindings to DT schema
  - Motorola CPCAP: Convert LED bindings to DT schemaLEDs for v7.4

- New Support & Features
  - Core: Add `led_trigger_notify_hw_control_changed()` to allow drivers to notify the
    core of autonomous hardware control transitions
  - Core: Add the `hw_offloaded()` trigger callback and `trigger_may_offload_to_hw` sysfs
    attribute to expose hardware-offloaded triggers
  - Netdev Trigger: Implement the `hw_offloaded()` callback to report hardware control
    state to the LED core
  - Analog Devices LTC3208: Add support for the LTC3208 7-channel multi-display I2C LED
    driver
  - ChromeOS EC: Implement the `hw_offloaded()` callback for the `chromeos-auto` trigger
  - CZ.NIC Turris Omnia: Implement the `hw_offloaded()` callback and declare `omnia-mcu`
    as a hardware control trigger
  - STMicroelectronics ST1202: Add hardware-accelerated blink support via `blink_set()`

- Improvements & Fixes
  - Class: Always hold the `led_access` mutex in `brightness_show()` to avoid exposing
    transient registration states
  - Class: Deactivate active hardware control triggers when writing to the `brightness`
    sysfs attribute
  - Core: Enforce strict validation in `led_trigger_is_hw_controlled()` and warn on legacy
    fallback paths
  - Flash Class: Initialize the fault variable in `flash_fault_show()` to prevent
    undefined behavior when callbacks perform bitwise ORs
  - Kinetic KTD2692: Pass the driver context directly to `regulator_disable_action()` to
    prevent a NULL pointer dereference during error unwinding
  - Maxim MAX77705: Use `fwnode_for_each_child_node_scoped()` in `max77705_add_led()` to
    prevent child node reference leaks on error paths
  - NXP PCA9532: Check the return value of `i2c_smbus_read_byte_data()` in
    `pca9532_getled()` to avoid integer underflow on read errors
  - Qualcomm WLED: Fix a NULL pointer dereference in `wled_remove()` by setting platform
    driver data in `wled_probe()`
  - Qualcomm WLED: Fix the WLED3 brightness register stride to prevent consecutive string
    writes from overlapping
  - Qualcomm WLED: Read back the hardware-programmed brightness at probe, expose it via
    `get_brightness()`, and prevent unbalanced OVP IRQ enabling
  - STMicroelectronics ST1202: Clear unused PWM pattern slots in `pattern_set()` and
    `blink_set()` to prevent unintended output when sharing the global sequencer
  - STMicroelectronics ST1202: Program and cap the channel current according to
    `max_brightness` across brightness, blink, and hardware pattern modes, and scale
    pattern brightness to the 12-bit PWM range
  - STMicroelectronics ST1202: Retain a reference to each child LED firmware node for the
    lifetime of the device
  - STMicroelectronics ST1202: Use only the blocking `brightness_set_blocking()` callback
    to avoid sleeping in atomic context during I2C transfers
  - TI LM3692x: Check the final register write in `lm3692x_leds_enable()` to prevent
    regulator/GPIO leaks and an inconsistent enabled state
  - TI LP8860: Fix a `device_node` reference leak in `lp8860_probe()` using
    `__free(device_node)`

- Cleanups & Refactoring
  - Core: Move `led_trigger_is_hw_controlled()` and `led_trigger_group` from `led-class.c`
    into `led-triggers.c`
  - Core: Replace conditional `set_bit()`/`clear_bit()` patterns with `assign_bit()` and
    `__assign_bit()`
  - Flash Class: Simplify `flash_fault_show()` using `sysfs_emit_at()` and omit the
    trailing space
  - Maintainers: Add Griffin Kroah-Hartman as an LED subsystem reviewer
  - Intel SS4200: Fix a spelling typo in a comment
  - ISSI IS31FL32xx: Convert DT-specific parsing helpers to generic device and fwnode
    property APIs
  - NXP PCA955x: Drop redundant intermediate platform data and allocate the LED array
    using a flexible array member
  - Qualcomm LPG: Convert LED and channel parsing to fwnode APIs and avoid leaving
    `default_trigger` uninitialized
  - Skyworks AAT1290: Use `ARRAY_SIZE()` when allocating `mm_current_scale` to match the
    target pointer type for type-aware allocators
  - STMicroelectronics ST1202: Introduce a `st1202_iled_max()` helper to unify channel
    current ceiling calculations
  - STMicroelectronics ST1202: Standardize variable and macro naming, fix helper spelling,
    and use `u8` consistently instead of `uint8_t`
  - Syscon: Convert from OF-specific property helpers to the generic device property and
    fwnode APIs

- Device Tree Binding Updates
  - Core: Allow PHY RX triggers (`phy[0-9]+rx`) in `linux,default-trigger`
  - Core: Standardize example indentation across multiple LED and backlight binding
    schemas
  - Analog Devices LTC3208: Document the LTC3208 multi-display LED driver
  - LaCie netxbig: Convert LED bindings to DT schema
  - Motorola CPCAP: Convert LED bindings to DT schema

----------------------------------------------------------------
Cong Nguyen (1):
      leds: lm3692x: Fix regulator/gpio leak and wrong enabled state on last write failure

David Heidelberg (4):
      backlight: qcom-wled: Fix NULL pointer dereference in wled_remove()
      backlight: qcom-wled: Fix WLED3 brightness register stride
      backlight: qcom-wled: Fix unbalanced OVP IRQ enable at probe
      backlight: qcom-wled: Read back the programmed brightness at probe

Dmitry Antipov (2):
      leds: flash: Prevent using uninitialized variable in flash_fault_show()
      leds: flash: Simplify flash_fault_show()

Griffin Kroah-Hartman (1):
      MAINTAINERS: Add myself as a LED SUBSYSTEM reviewer

Haibo Chen (1):
      leds: pca9532: Check i2c_smbus_read_byte_data() return value

Hemanth Selam (1):
      leds: ss4200: Fix typo "retrive" in comment

Jan Carlo Roleda (2):
      dt-bindings: leds: Document LTC3208 Multidisplay LED Driver
      leds: ltc3208: Add driver for LTC3208 Multidisplay LED Driver

Kees Cook (1):
      leds: aat1290: Allocate mm_current_scale with ARRAY_SIZE()

Krzysztof Kozlowski (1):
      dt-bindings: leds: Use consistent indentation in the example

Manuel Fombuena (14):
      leds: st1202: Add hardware-accelerated blink support
      leds: st1202: Correct the name of the prescaler conversion helper
      leds: st1202: Spell out the phase-shift configuration bit
      leds: st1202: Name pattern index variables consistently
      leds: st1202: Use u8 consistently for 8-bit values
      leds: st1202: Clear unused pattern slots in pattern_set()
      leds: st1202: Scale pattern brightness to the 12-bit PWM range
      leds: st1202: Program the channel current for hardware patterns
      leds: st1202: Take a reference on the LED firmware node
      leds: st1202: Do not set brightness from atomic context
      leds: st1202: Clear unused pattern slots in blink_set()
      leds: st1202: Honour max_brightness when blinking
      leds: st1202: Cap the channel current in st1202_led_set()
      leds: st1202: Give the channel current ceiling a single helper

Manush Prajwal (1):
      leds: max77705: Use fwnode_for_each_child_node_scoped() in max77705_add_led()

Miles Krause (1):
      leds: lp8860: Fix device_node leak in lp8860_probe()

Myeonghun Pak (1):
      leds: ktd2692: Pass context to regulator cleanup

Peng Fan (1):
      leds: Use assign_bit() where applicable

Rob Herring (Arm) (1):
      dt-bindings: leds: Allow PHY RX triggers

Rong Zhang (10):
      leds: class: Always protect brightness_show() with led_access
      leds: trigger: Move led_trigger_is_hw_controlled() to the right place
      leds: class: Remove hardware control trigger when writing brightness
      leds: trigger: Move led_trigger_group to the right place
      leds: trigger: Add hw_offloaded() callback and provide trigger_may_offload_to_hw attribute
      leds: cros_ec: Implement hw_offloaded() trigger callback
      leds: turris-omnia: Implement hw_offloaded() trigger callback and declare hw_control_trigger
      leds: trigger: netdev: Implement hw_offloaded() callback
      leds: trigger: Enforce strict checks in led_trigger_is_hw_controlled()
      leds: trigger: Add led_trigger_notify_hw_control_changed() interface

Rosen Penev (4):
      leds: syscon: Use device property API
      leds: is31fl32xx: Use fwnode/device property APIs
      leds: rgb: qcom-lpg: Use fwnode APIs for LED parsing
      leds: pca955x: Drop platform data and allocate LEDs with the device

Svyatoslav Ryhel (1):
      dt-bindings: leds: leds-cpcap: Convert to DT schema

Udaya Kiran Challa (1):
      dt-bindings: leds: lacie,netxbig-leds: Convert to DT schema

 Documentation/ABI/testing/sysfs-class-led          |  28 ++-
 .../ABI/testing/sysfs-class-led-trigger-netdev     |   3 +
 .../devicetree/bindings/leds/adi,ltc3208.yaml      | 183 ++++++++++++++++
 .../bindings/leds/backlight/lm3630a-backlight.yaml |  52 ++---
 .../bindings/leds/backlight/lp855x-backlight.yaml  |  18 +-
 .../bindings/leds/backlight/qcom-wled.yaml         |   2 +-
 Documentation/devicetree/bindings/leds/common.yaml |   2 +-
 .../bindings/leds/lacie,netxbig-leds.yaml          | 136 ++++++++++++
 .../devicetree/bindings/leds/leds-consumer.yaml    |  14 +-
 .../devicetree/bindings/leds/leds-cpcap.txt        |  29 ---
 .../devicetree/bindings/leds/leds-lp50xx.yaml      |  12 +-
 .../devicetree/bindings/leds/leds-lp5860.yaml      |  12 +-
 .../devicetree/bindings/leds/leds-netxbig.txt      |  92 --------
 .../bindings/leds/motorola,cpcap-leds.yaml         |  42 ++++
 .../devicetree/bindings/leds/nxp,pca963x.yaml      |  24 +--
 Documentation/leds/leds-class.rst                  |  72 +++++++
 Documentation/leds/leds-st1202.rst                 |   5 +
 MAINTAINERS                                        |   9 +
 drivers/leds/Kconfig                               |  12 ++
 drivers/leds/Makefile                              |   1 +
 drivers/leds/flash/leds-aat1290.c                  |   5 +-
 drivers/leds/flash/leds-ktd2692.c                  |  10 +-
 drivers/leds/led-class-flash.c                     |  21 +-
 drivers/leds/led-class.c                           |  46 ++--
 drivers/leds/led-core.c                            |   5 +-
 drivers/leds/led-triggers.c                        | 177 ++++++++++++++-
 drivers/leds/leds-cros_ec.c                        |   6 +
 drivers/leds/leds-is31fl32xx.c                     |  20 +-
 drivers/leds/leds-lm3692x.c                        |   4 +-
 drivers/leds/leds-lp8860.c                         |   5 +-
 drivers/leds/leds-ltc3208.c                        | 234 ++++++++++++++++++++
 drivers/leds/leds-max77705.c                       |   3 +-
 drivers/leds/leds-pca9532.c                        |   9 +-
 drivers/leds/leds-pca955x.c                        |  94 +++-----
 drivers/leds/leds-pca963x.c                        |   5 +-
 drivers/leds/leds-ss4200.c                         |   2 +-
 drivers/leds/leds-st1202.c                         | 240 ++++++++++++++++-----
 drivers/leds/leds-syscon.c                         |   9 +-
 drivers/leds/leds-turris-omnia.c                   |   7 +
 drivers/leds/leds.h                                |   8 +-
 drivers/leds/rgb/leds-qcom-lpg.c                   |  38 ++--
 drivers/leds/trigger/Kconfig                       |  10 +
 drivers/leds/trigger/ledtrig-netdev.c              |  13 +-
 drivers/video/backlight/qcom-wled.c                |  99 +++++++--
 include/linux/leds.h                               |  24 +++
 45 files changed, 1406 insertions(+), 436 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/leds/adi,ltc3208.yaml
 create mode 100644 Documentation/devicetree/bindings/leds/lacie,netxbig-leds.yaml
 delete mode 100644 Documentation/devicetree/bindings/leds/leds-cpcap.txt
 delete mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt
 create mode 100644 Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml
 create mode 100644 drivers/leds/leds-ltc3208.c

-- 
Lee Jones

             reply	other threads:[~2026-10-26 15:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-26 15:20 Lee Jones [this message]
2026-10-26 19:10 ` [GIT PULL] LEDs for v7.4 Linus Torvalds
2026-10-26 20:07   ` Lee Jones
2026-10-26 19:20 ` pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261026152012.GD2195460@google.com \
    --to=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.