Skip to content

Commit c156d4a

Browse files
committed
Merge tag 'leds-next-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds
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 ...
2 parents b8ec70a + 877e911 commit c156d4a

File tree

81 files changed

+2209
-396
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+2209
-396
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
What: /sys/class/leds/<led>/dim
2+
Date: May 2023
3+
Description: 64-level DIM current. If you write a negative value or
4+
"auto", the dim will be calculated according to the
5+
brightness.
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/leds/awinic,aw200xx.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: AWINIC AW200XX LED
8+
9+
maintainers:
10+
- Martin Kurbanov <[email protected]>
11+
12+
description: |
13+
This controller is present on AW20036/AW20054/AW20072.
14+
It is a 3x12/6x9/6x12 matrix LED programmed via
15+
an I2C interface, up to 36/54/72 LEDs or 12/18/24 RGBs,
16+
3 pattern controllers for auto breathing or group dimming control.
17+
18+
For more product information please see the link below:
19+
aw20036 - https://www.awinic.com/en/productDetail/AW20036QNR#tech-docs
20+
aw20054 - https://www.awinic.com/en/productDetail/AW20054QNR#tech-docs
21+
aw20072 - https://www.awinic.com/en/productDetail/AW20072QNR#tech-docs
22+
23+
properties:
24+
compatible:
25+
enum:
26+
- awinic,aw20036
27+
- awinic,aw20054
28+
- awinic,aw20072
29+
30+
reg:
31+
maxItems: 1
32+
33+
"#address-cells":
34+
const: 1
35+
36+
"#size-cells":
37+
const: 0
38+
39+
awinic,display-rows:
40+
$ref: /schemas/types.yaml#/definitions/uint32
41+
description:
42+
Leds matrix size
43+
44+
patternProperties:
45+
"^led@[0-9a-f]$":
46+
type: object
47+
$ref: common.yaml#
48+
unevaluatedProperties: false
49+
50+
properties:
51+
reg:
52+
description:
53+
LED number
54+
maxItems: 1
55+
56+
led-max-microamp:
57+
default: 9780
58+
description: |
59+
Note that a driver will take the minimum of all LED limits
60+
since the chip has a single global setting.
61+
The maximum output current of each LED is calculated by the
62+
following formula:
63+
IMAXled = 160000 * (592 / 600.5) * (1 / display-rows)
64+
And the minimum output current formula:
65+
IMINled = 3300 * (592 / 600.5) * (1 / display-rows)
66+
67+
required:
68+
- compatible
69+
- reg
70+
- "#address-cells"
71+
- "#size-cells"
72+
- awinic,display-rows
73+
74+
allOf:
75+
- if:
76+
properties:
77+
compatible:
78+
contains:
79+
const: awinic,aw20036
80+
then:
81+
properties:
82+
awinic,display-rows:
83+
enum: [1, 2, 3]
84+
else:
85+
properties:
86+
awinic,display-rows:
87+
enum: [1, 2, 3, 4, 5, 6, 7]
88+
89+
additionalProperties: false
90+
91+
examples:
92+
- |
93+
#include <dt-bindings/leds/common.h>
94+
95+
i2c {
96+
#address-cells = <1>;
97+
#size-cells = <0>;
98+
99+
led-controller@3a {
100+
compatible = "awinic,aw20036";
101+
reg = <0x3a>;
102+
#address-cells = <1>;
103+
#size-cells = <0>;
104+
awinic,display-rows = <3>;
105+
106+
led@0 {
107+
reg = <0x0>;
108+
color = <LED_COLOR_ID_RED>;
109+
led-max-microamp = <9780>;
110+
};
111+
112+
led@1 {
113+
reg = <0x1>;
114+
color = <LED_COLOR_ID_GREEN>;
115+
led-max-microamp = <9780>;
116+
};
117+
118+
led@2 {
119+
reg = <0x2>;
120+
color = <LED_COLOR_ID_BLUE>;
121+
led-max-microamp = <9780>;
122+
};
123+
};
124+
};
125+
126+
...

Documentation/devicetree/bindings/leds/backlight/kinetic,ktz8866.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ properties:
3333

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

3839
kinetic,current-ramp-delay-ms:

Documentation/devicetree/bindings/leds/common.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@ properties:
105105
- audio-mute
106106
# LED indicates bluetooth power state
107107
- bluetooth-power
108-
# LED indicates activity of all CPUs
109-
- cpu
110108
# LED indicates camera flash state
111109
- flash
112110
# LED indicated keyboard capslock

Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ required:
3434
- color
3535

3636
allOf:
37-
- $ref: "common.yaml#"
37+
- $ref: common.yaml#
3838

3939
additionalProperties: true
4040

Documentation/devicetree/bindings/leds/leds-lp55xx.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ properties:
6666
'#size-cells':
6767
const: 0
6868

69+
ti,charge-pump-mode:
70+
description:
71+
Set the operating mode of the internal charge pump as defined in
72+
<dt-bindings/leds/leds-lp55xx.h>.
73+
$ref: /schemas/types.yaml#/definitions/uint32
74+
default: 3 # auto
75+
maximum: 3
76+
6977
patternProperties:
7078
'^multi-led@[0-8]$':
7179
type: object
@@ -152,6 +160,7 @@ additionalProperties: false
152160
examples:
153161
- |
154162
#include <dt-bindings/leds/common.h>
163+
#include <dt-bindings/leds/leds-lp55xx.h>
155164
156165
i2c {
157166
#address-cells = <1>;
@@ -164,6 +173,7 @@ examples:
164173
reg = <0x32>;
165174
clock-mode = /bits/ 8 <2>;
166175
pwr-sel = /bits/ 8 <3>; /* D1~9 connected to VOUT */
176+
ti,charge-pump-mode = <LP55XX_CP_BYPASS>;
167177
168178
led@0 {
169179
reg = <0>;

Documentation/devicetree/bindings/leds/leds-mt6323.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ For MediaTek PMIC wrapper bindings see:
1212
Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml
1313

1414
Required properties:
15-
- compatible : Must be "mediatek,mt6323-led"
15+
- compatible : Must be one of
16+
- "mediatek,mt6323-led"
17+
- "mediatek,mt6331-led"
18+
- "mediatek,mt6332-led"
1619
- address-cells : Must be 1
1720
- size-cells : Must be 0
1821

Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,24 @@ description: >
1616
1717
properties:
1818
compatible:
19-
enum:
20-
- qcom,pm660l-lpg
21-
- qcom,pm8150b-lpg
22-
- qcom,pm8150l-lpg
23-
- qcom,pm8350c-pwm
24-
- qcom,pm8916-pwm
25-
- qcom,pm8941-lpg
26-
- qcom,pm8994-lpg
27-
- qcom,pmc8180c-lpg
28-
- qcom,pmi8994-lpg
29-
- qcom,pmi8998-lpg
30-
- qcom,pmk8550-pwm
19+
oneOf:
20+
- enum:
21+
- qcom,pm660l-lpg
22+
- qcom,pm8150b-lpg
23+
- qcom,pm8150l-lpg
24+
- qcom,pm8350c-pwm
25+
- qcom,pm8916-pwm
26+
- qcom,pm8941-lpg
27+
- qcom,pm8994-lpg
28+
- qcom,pmc8180c-lpg
29+
- qcom,pmi632-lpg
30+
- qcom,pmi8994-lpg
31+
- qcom,pmi8998-lpg
32+
- qcom,pmk8550-pwm
33+
- items:
34+
- enum:
35+
- qcom,pm8550-pwm
36+
- const: qcom,pm8350c-pwm
3137

3238
"#pwm-cells":
3339
const: 2

Documentation/devicetree/bindings/leds/leds-sgm3140.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ properties:
2020
compatible:
2121
enum:
2222
- ocs,ocp8110
23+
- richtek,rt5033-led
2324
- sgmicro,sgm3140
2425

2526
enable-gpios:

Documentation/devicetree/bindings/leds/qcom,spmi-flash-led.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ properties:
2626
- qcom,pm8150c-flash-led
2727
- qcom,pm8150l-flash-led
2828
- qcom,pm8350c-flash-led
29+
- qcom,pm8550-flash-led
30+
- qcom,pmi8998-flash-led
2931
- const: qcom,spmi-flash-led
3032

3133
reg:

0 commit comments

Comments
 (0)