Commit 11a7b033 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull LED updates from Lee Jones:

 - Allow struct bin_attribute instances to be placed in read-only memory
   for enhanced protection

 - Fix a memory leak in the cht-wcove driver by using
   devm_led_classdev_register()

 - Fix an OF node reference leak in the netxbig driver

 - Ensure PWM is disabled properly in pwm-multicolor suspend

 - Add support for Texas Instruments LP8864, LP8864S, LP8866
   LED-backlight drivers

 - Add support for STMicroelectronics's LED1202 12-channel LED driver

 - Convert LP8860 bindings to YAML format

 - Add bindings for the TI LP8864/LP8866 LED drivers

 - Add LED1202 LED controller bindings

 - Fix path to color definitions in leds-class-multicolor.yaml

 - Add pm660l compatible to qcom,spmi-flash-led bindings

 - Extend cznic,turris-omnia-leds binding with interrupts property

 - Add documentation for the STMicroelectronics LED1202 driver

 - Add entry for AAEON UP board FPGA drivers in MAINTAINERS

 - Fix a wrong format specifier in the ledtrig-activity driver

 - Fix a bug in the lp8860 driver where only half of the EEPROM was
   written

* tag 'leds-next-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (28 commits)
  leds: triggers: Constify 'struct bin_attribute'
  leds: cht-wcove: Use devm_led_classdev_register() to avoid memory leak
  leds: lp8864: Add support for Texas Instruments LP8864, LP8864S, LP8866 LED-backlights
  dt-bindings: leds: Convert LP8860 into YAML format
  leds: Add LED1202 I2C driver
  dt-bindings: leds: Add LED1202 LED Controller
  Documentation:leds: Add leds-st1202.rst
  leds: pwm-multicolor: Disable PWM when going to suspend
  leds: netxbig: Fix an OF node reference leak in netxbig_leds_get_of_pdata()
  turris-omnia-mcu-interface.h: Move macro definitions outside of enums
  MAINTAINERS: Add entry for AAEON UP board FPGA drivers
  leds: Add AAEON UP board LED driver
  leds: trigger: netdev: Check offload ability on interface up
  leds: turris-omnia: Use uppercase first letter in all comments
  leds: turris-omnia: Use dev_err_probe() where appropriate
  leds: turris-omnia: Inform about missing LED gamma correction feature in the MCU driver
  platform: cznic: turris-omnia-mcu: Inform about missing LED panel brightness change interrupt feature
  leds: turris-omnia: Notify sysfs on MCU global LEDs brightness change
  leds: turris-omnia: Document driver private structures
  dt-bindings: leds: cznic,turris-omnia-leds: Allow interrupts property
  ...
parents 909fd2b8 daefd7fb
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -23,6 +23,12 @@ properties:
    description: I2C slave address of the microcontroller.
    maxItems: 1

  interrupts:
    description:
      Specifier for the global LED brightness changed by front button press
      interrupt.
    maxItems: 1

  "#address-cells":
    const: 1

@@ -56,6 +62,7 @@ additionalProperties: false
examples:
  - |

    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>

    i2c {
@@ -65,6 +72,7 @@ examples:
        led-controller@2b {
            compatible = "cznic,turris-omnia-leds";
            reg = <0x2b>;
            interrupts-extended = <&mcu 11 IRQ_TYPE_NONE>;
            #address-cells = <1>;
            #size-cells = <0>;

+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ properties:
    description: |
      For multicolor LED support this property should be defined as either
      LED_COLOR_ID_RGB or LED_COLOR_ID_MULTI which can be found in
      include/linux/leds/common.h.
      include/dt-bindings/leds/common.h.
    enum: [ 8, 9 ]

required:
+0 −50
Original line number Diff line number Diff line
* Texas Instruments - lp8860 4-Channel LED Driver

The LP8860-Q1 is an high-efficiency LED
driver with boost controller. It has 4 high-precision
current sinks that can be controlled by a PWM input
signal, a SPI/I2C master, or both.

Required properties:
	- compatible :
		"ti,lp8860"
	- reg : I2C slave address
	- #address-cells : 1
	- #size-cells : 0

Optional properties:
	- enable-gpios : gpio pin to enable (active high)/disable the device.
	- vled-supply : LED supply

Required child properties:
	- reg : 0

Optional child properties:
	- function : see Documentation/devicetree/bindings/leds/common.txt
	- color : see Documentation/devicetree/bindings/leds/common.txt
	- label : see Documentation/devicetree/bindings/leds/common.txt (deprecated)
	- linux,default-trigger :
	   see Documentation/devicetree/bindings/leds/common.txt

Example:

#include <dt-bindings/leds/common.h>

led-controller@2d {
	compatible = "ti,lp8860";
	#address-cells = <1>;
	#size-cells = <0>;
	reg = <0x2d>;
	enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
	vled-supply = <&vbatt>;

	led@0 {
		reg = <0>;
		function = LED_FUNCTION_BACKLIGHT;
		color = <LED_COLOR_ID_WHITE>;
		linux,default-trigger = "backlight";
	};
}

For more product information please see the link below:
https://www.ti.com/product/lp8860-q1
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ properties:
    items:
      - enum:
          - qcom,pm6150l-flash-led
          - qcom,pm660l-flash-led
          - qcom,pm8150c-flash-led
          - qcom,pm8150l-flash-led
          - qcom,pm8350c-flash-led
+90 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/ti,lp8860.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments - lp8860 4-Channel LED Driver

maintainers:
  - Andrew Davis <afd@ti.com>

description: |
  The LP8860-Q1 is an high-efficiency LED driver with boost controller.
  It has 4 high-precision current sinks that can be controlled by a PWM input
  signal, a SPI/I2C master, or both.

  For more product information please see the link below:
    https://www.ti.com/product/lp8860-q1

properties:
  compatible:
    const: ti,lp8860

  reg:
    maxItems: 1
    description: I2C slave address

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  enable-gpios:
    maxItems: 1
    description: GPIO pin to enable (active high) / disable the device

  vled-supply:
    description: LED supply

patternProperties:
  "^led(@[0-3])?$":
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        description:
          Index of the LED.
        maxItems: 1

      function: true
      color: true
      label: true
      linux,default-trigger: true

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/leds/common.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        led-controller@2d {
            compatible = "ti,lp8860";
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <0x2d>;
            enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
            vled-supply = <&vbatt>;

            led@0 {
                reg = <0>;
                function = LED_FUNCTION_BACKLIGHT;
                color = <LED_COLOR_ID_WHITE>;
                linux,default-trigger = "backlight";
            };
        };
    };

...
Loading