Skip to content

Commit 93251bd

Browse files
committed
Merge tag 'leds-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds
PULL LED updates from Lee Jones: - Remove unused local header files from various drivers - Revert platform driver removal to the original method for consistency - Introduce ordered workqueues for LED events, replacing the less efficient system_wq - Switch to a safer iteration macro in several drivers to prevent potential memory leaks - Fix a refcounting bug in the mt6360 flash LED driver - Fix an uninitialized variable in the mt6370_mc_pattern_clear() function - Resolve Smatch warnings in the leds-bcm6328 driver - Address a potential NULL pointer dereference in the brightness_show() function - Fix an incorrect format specifier in the ss4200 driver - Prevent a resource leak in the max5970 driver's probe function - Add support for specifying the number of serial shift bits in the device tree for the BCM63138 family - Implement multicolor brightness control in the lp5562 driver - Add a device tree property to override the default LED pin polarity - Add a property to specify the default brightness value when the LED is initially on - Set missing timing properties for the ktd2692 driver - Document the "rc-feedback" trigger for controlling LEDs based on remote control activity - Convert text bindings to YAML for the pca955x driver to enable device tree validation - Remove redundant checks for invalid channel numbers in the lp55xx driver - Update the MAINTAINERS file with current contact information * tag 'leds-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (46 commits) leds: ss4200: Fix the wrong format specifier for 'blinking' leds: pwm: Add optional DT property default-brightness dt-bindings: leds: pwm: Add default-brightness property leds: class: Protect brightness_show() with led_cdev->led_access mutex leds: ktd2692: Set missing timing properties leds: max5970: Fix unreleased fwnode_handle in probe function leds: Introduce ordered workqueue for LEDs events instead of system_wq MAINTAINERS: Replace Siemens IPC related bouncing maintainers leds: bcm6328: Replace divide condition with comparison for shift value leds: lp55xx: Remove redundant test for invalid channel number dt-bindings: leds: pca955x: Convert text bindings to YAML leds: rgb: leds-mt6370-rgb: Fix uninitialized variable 'ret' in mt6370_mc_pattern_clear leds: lp5562: Add multicolor brightness control dt-bindings: leds: Add 'active-high' property leds: Switch back to struct platform_driver::remove() leds: bcm63138: Add some register defines leds: bcm63138: Handle shift register config leds: bcm63138: Use scopes and guards dt-bindings: leds: bcm63138: Add shift register bits leds: leds-gpio-register: Reorganize kerneldoc parameter names ...
2 parents 80739fd + e850185 commit 93251bd

Some content is hidden

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

63 files changed

+397
-330
lines changed

Documentation/devicetree/bindings/leds/common.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ properties:
118118
# No trigger assigned to the LED. This is the default mode
119119
# if trigger is absent
120120
- none
121+
# LED indicates remote control feedback
122+
- rc-feedback
121123
# LED indicates camera torch state
122124
- torch
123125
# LED indicates USB gadget activity
@@ -202,6 +204,12 @@ properties:
202204
#trigger-source-cells property in the source node.
203205
$ref: /schemas/types.yaml#/definitions/phandle-array
204206

207+
active-high:
208+
type: boolean
209+
description:
210+
Makes LED active high. To turn the LED ON, line needs to be
211+
set to high voltage instead of low.
212+
205213
active-low:
206214
type: boolean
207215
description:
@@ -225,6 +233,14 @@ properties:
225233
Maximum timeout in microseconds after which the flash LED is turned off.
226234
Required for flash LED nodes with configurable timeout.
227235

236+
allOf:
237+
- if:
238+
required:
239+
- active-low
240+
then:
241+
properties:
242+
active-high: false
243+
228244
additionalProperties: true
229245

230246
examples:

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,16 @@ properties:
4141
"#size-cells":
4242
const: 0
4343

44+
brcm,serial-shift-bits:
45+
minimum: 1
46+
maximum: 32
47+
description:
48+
This describes the number of 8-bit serial shifters connected to the LED
49+
controller block. The hardware is typically using 8-bit shift registers
50+
with 8 LEDs per shift register, so 4 shifters results in 32 LEDs or 2
51+
shifters give 16 LEDs etc, but the hardware supports any odd number of
52+
registers. If left unspecified, the hardware boot-time default is used.
53+
4454
patternProperties:
4555
"^led@[a-f0-9]+$":
4656
type: object
@@ -71,6 +81,7 @@ examples:
7181
leds@ff800800 {
7282
compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
7383
reg = <0xff800800 0xdc>;
84+
brcm,serial-shift-bits = <16>;
7485
7586
#address-cells = <1>;
7687
#size-cells = <0>;

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

Lines changed: 0 additions & 89 deletions
This file was deleted.

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ patternProperties:
3434
Maximum brightness possible for the LED
3535
$ref: /schemas/types.yaml#/definitions/uint32
3636

37+
default-brightness:
38+
description:
39+
Brightness to be set if LED's default state is on. Used only during
40+
initialization. If the option is not set then max brightness is used.
41+
$ref: /schemas/types.yaml#/definitions/uint32
42+
3743
required:
3844
- pwms
3945
- max-brightness
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/leds/nxp,pca955x.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NXP PCA955X LED controllers
8+
9+
maintainers:
10+
- Nate Case <[email protected]>
11+
12+
description: |
13+
The PCA955x family of chips are I2C LED blinkers whose pins not used
14+
to control LEDs can be used as general purpose I/Os. The GPIO pins can
15+
be input or output, and output pins can also be pulse-width controlled.
16+
17+
For more product information please see the link below:
18+
- https://www.nxp.com/docs/en/data-sheet/PCA9552.pdf
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- nxp,pca9550
24+
- nxp,pca9551
25+
- nxp,pca9552
26+
- ibm,pca9552
27+
- nxp,pca9553
28+
29+
reg:
30+
maxItems: 1
31+
32+
"#address-cells":
33+
const: 1
34+
35+
"#size-cells":
36+
const: 0
37+
38+
gpio-controller: true
39+
40+
gpio-line-names:
41+
minItems: 1
42+
maxItems: 16
43+
44+
"#gpio-cells":
45+
const: 2
46+
47+
patternProperties:
48+
"^led@[0-9a-f]$":
49+
type: object
50+
$ref: common.yaml#
51+
unevaluatedProperties: false
52+
53+
properties:
54+
reg:
55+
maxItems: 1
56+
type:
57+
description: |
58+
Output configuration, see include/dt-bindings/leds/leds-pca955x.h
59+
$ref: /schemas/types.yaml#/definitions/uint32
60+
default: 0
61+
minimum: 0
62+
maximum: 2
63+
64+
required:
65+
- reg
66+
67+
allOf:
68+
- if:
69+
properties:
70+
compatible:
71+
contains:
72+
enum:
73+
- nxp,pca9550
74+
then:
75+
patternProperties:
76+
"^led@[0-9a-f]$":
77+
properties:
78+
reg:
79+
maximum: 1
80+
- if:
81+
properties:
82+
compatible:
83+
contains:
84+
enum:
85+
- nxp,pca9551
86+
then:
87+
patternProperties:
88+
"^led@[0-9a-f]$":
89+
properties:
90+
reg:
91+
maximum: 7
92+
- if:
93+
properties:
94+
compatible:
95+
contains:
96+
enum:
97+
- nxp,pca9552
98+
- ibm,pca9552
99+
then:
100+
patternProperties:
101+
"^led@[0-9a-f]$":
102+
properties:
103+
reg:
104+
maximum: 15
105+
- if:
106+
properties:
107+
compatible:
108+
contains:
109+
enum:
110+
- nxp,pca9553
111+
then:
112+
patternProperties:
113+
"^led@[0-9a-f]$":
114+
properties:
115+
reg:
116+
maximum: 3
117+
118+
additionalProperties: false
119+
120+
examples:
121+
- |
122+
#include <dt-bindings/leds/leds-pca955x.h>
123+
124+
i2c {
125+
#address-cells = <1>;
126+
#size-cells = <0>;
127+
128+
led-controller@60 {
129+
compatible = "nxp,pca9552";
130+
reg = <0x60>;
131+
#address-cells = <1>;
132+
#size-cells = <0>;
133+
134+
led@0 {
135+
reg = <0>;
136+
label = "red:power";
137+
linux,default-trigger = "default-on";
138+
type = <PCA955X_TYPE_LED>;
139+
};
140+
led@1 {
141+
reg = <1>;
142+
label = "green:power";
143+
type = <PCA955X_TYPE_LED>;
144+
};
145+
led@2 {
146+
reg = <2>;
147+
label = "pca9552:yellow";
148+
type = <PCA955X_TYPE_LED>;
149+
};
150+
led@3 {
151+
reg = <3>;
152+
label = "pca9552:white";
153+
type = <PCA955X_TYPE_LED>;
154+
};
155+
};
156+
};
157+
158+
...

MAINTAINERS

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21231,16 +21231,16 @@ F: drivers/media/usb/siano/
2123121231
F: drivers/media/usb/siano/
2123221232

2123321233
SIEMENS IPC LED DRIVERS
21234-
M: Gerd Haeussler <gerd.haeussler.ext@siemens.com>
21235-
M: Xing Tong Wu <xingtong.wu@siemens.com>
21234+
M: Bao Cheng Su <baocheng.su@siemens.com>
21235+
M: Benedikt Niedermayr <benedikt.niedermayr@siemens.com>
2123621236
M: Tobias Schaffner <[email protected]>
2123721237
2123821238
S: Maintained
2123921239
F: drivers/leds/simple/
2124021240

2124121241
SIEMENS IPC PLATFORM DRIVERS
21242-
M: Gerd Haeussler <gerd.haeussler.ext@siemens.com>
21243-
M: Xing Tong Wu <xingtong.wu@siemens.com>
21242+
M: Bao Cheng Su <baocheng.su@siemens.com>
21243+
M: Benedikt Niedermayr <benedikt.niedermayr@siemens.com>
2124421244
M: Tobias Schaffner <[email protected]>
2124521245
2124621246
S: Maintained
@@ -21249,8 +21249,8 @@ F: include/linux/platform_data/x86/simatic-ipc-base.h
2124921249
F: include/linux/platform_data/x86/simatic-ipc.h
2125021250

2125121251
SIEMENS IPC WATCHDOG DRIVERS
21252-
M: Gerd Haeussler <gerd.haeussler.ext@siemens.com>
21253-
M: Xing Tong Wu <xingtong.wu@siemens.com>
21252+
M: Bao Cheng Su <baocheng.su@siemens.com>
21253+
M: Benedikt Niedermayr <benedikt.niedermayr@siemens.com>
2125421254
M: Tobias Schaffner <[email protected]>
2125521255
2125621256
S: Maintained

0 commit comments

Comments
 (0)