Commit c156d4af authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull LED updates from Lee Jones:
 "New Drivers:
   - Add support for Intel Cherry Trail Whiskey Cove PMIC LEDs
   - Add support for Awinic AW20036/AW20054/AW20072 LEDs

  New Device Support:
   - Add support for PMI632 LPG to QCom LPG
   - Add support for PMI8998 to QCom Flash
   - Add support for MT6331, WLEDs and MT6332 to Mediatek MT6323 PMIC

  New Functionality:
   - Implement the LP55xx Charge Pump
   - Add support for suspend / resume to Intel Cherry Trail Whiskey Cove PMIC
   - Add support for breathing mode to Intel Cherry Trail Whiskey Cove PMIC
   - Enable per-pin resolution Pinctrl in LEDs GPIO

  Fix-ups:
   - Allow thread to sleep by switching from spinlock to mutex
   - Add lots of Device Tree bindings / support
   - Adapt relationships / dependencies driven by Kconfig
   - Switch I2C drivers from .probe_new() to .probe()
   - Remove superfluous / duplicate code
   - Replace strlcpy() with strscpy() for efficiency and overflow prevention
   - Staticify various functions
   - Trivial: Fixing coding style
   - Simplify / reduce code

  Bug Fixes:
   - Prevent NETDEV_LED_MODE_LINKUP from being cleared on rename
   - Repair race between led_set_brightness(LED_{OFF,FULL})
   - Fix Oops relating to sleeping in critical sections
   - Clear LED_INIT_DEFAULT_TRIGGER flag when clearing the current trigger
   - Do not leak resources in error handling paths
   - Fix unsigned comparison which can never be negative
   - Provide missing NULL terminating entries in tables
   - Fix misnaming issues"

* tag 'leds-next-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (53 commits)
  leds: leds-mt6323: Adjust return/parameter types in wled get/set callbacks
  leds: sgm3140: Add richtek,rt5033-led compatible
  dt-bindings: leds: sgm3140: Document richtek,rt5033 compatible
  dt-bindings: backlight: kinetic,ktz8866: Add missing type for "current-num-sinks"
  dt-bindings: leds: Drop unneeded quotes
  leds: Fix config reference for AW200xx driver
  leds: leds-mt6323: Add support for WLEDs and MT6332
  leds: leds-mt6323: Add support for MT6331 leds
  leds: leds-mt6323: Open code and drop MT6323_CAL_HW_DUTY macro
  leds: leds-mt6323: Drop MT6323_ prefix from macros and defines
  leds: leds-mt6323: Specify registers and specs in platform data
  dt-bindings: leds: leds-mt6323: Document mt6332 compatible
  dt-bindings: leds: leds-mt6323: Document mt6331 compatible
  leds: simatic-ipc-leds-gpio: Introduce more Kconfig switches
  leds: simatic-ipc-leds-gpio: Split up into multiple drivers
  leds: simatic-ipc-leds-gpio: Move two extra gpio pins into another table
  leds: simatic-ipc-leds-gpio: Add terminating entries to gpio tables
  leds: flash: leds-qcom-flash: Fix an unsigned comparison which can never be negative
  leds: cht-wcove: Remove unneeded semicolon
  leds: cht-wcove: Fix an unsigned comparison which can never be negative
  ...
parents b8ec70ab 877e9119
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
What:		/sys/class/leds/<led>/dim
Date:		May 2023
Description:	64-level DIM current. If you write a negative value or
		"auto", the dim will be calculated according to the
		brightness.
+126 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/awinic,aw200xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: AWINIC AW200XX LED

maintainers:
  - Martin Kurbanov <mmkurbanov@sberdevices.ru>

description: |
  This controller is present on AW20036/AW20054/AW20072.
  It is a 3x12/6x9/6x12 matrix LED programmed via
  an I2C interface, up to 36/54/72 LEDs or 12/18/24 RGBs,
  3 pattern controllers for auto breathing or group dimming control.

  For more product information please see the link below:
  aw20036 - https://www.awinic.com/en/productDetail/AW20036QNR#tech-docs
  aw20054 - https://www.awinic.com/en/productDetail/AW20054QNR#tech-docs
  aw20072 - https://www.awinic.com/en/productDetail/AW20072QNR#tech-docs

properties:
  compatible:
    enum:
      - awinic,aw20036
      - awinic,aw20054
      - awinic,aw20072

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  awinic,display-rows:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Leds matrix size

patternProperties:
  "^led@[0-9a-f]$":
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        description:
          LED number
        maxItems: 1

      led-max-microamp:
        default: 9780
        description: |
          Note that a driver will take the minimum of all LED limits
          since the chip has a single global setting.
          The maximum output current of each LED is calculated by the
          following formula:
            IMAXled = 160000 * (592 / 600.5) * (1 / display-rows)
          And the minimum output current formula:
            IMINled = 3300 * (592 / 600.5) * (1 / display-rows)

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"
  - awinic,display-rows

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: awinic,aw20036
    then:
      properties:
        awinic,display-rows:
          enum: [1, 2, 3]
    else:
      properties:
        awinic,display-rows:
          enum: [1, 2, 3, 4, 5, 6, 7]

additionalProperties: false

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

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

        led-controller@3a {
            compatible = "awinic,aw20036";
            reg = <0x3a>;
            #address-cells = <1>;
            #size-cells = <0>;
            awinic,display-rows = <3>;

            led@0 {
                reg = <0x0>;
                color = <LED_COLOR_ID_RED>;
                led-max-microamp = <9780>;
            };

            led@1 {
                reg = <0x1>;
                color = <LED_COLOR_ID_GREEN>;
                led-max-microamp = <9780>;
            };

            led@2 {
                reg = <0x2>;
                color = <LED_COLOR_ID_BLUE>;
                led-max-microamp = <9780>;
            };
        };
    };

...
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ properties:

  current-num-sinks:
    description: number of the LED current sinks' channels.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 3, 4, 5, 6]

  kinetic,current-ramp-delay-ms:
+0 −2
Original line number Diff line number Diff line
@@ -105,8 +105,6 @@ properties:
          - audio-mute
            # LED indicates bluetooth power state
          - bluetooth-power
            # LED indicates activity of all CPUs
          - cpu
            # LED indicates camera flash state
          - flash
            # LED indicated keyboard capslock
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ required:
  - color

allOf:
  - $ref: "common.yaml#"
  - $ref: common.yaml#

additionalProperties: true

Loading