Re: [PATCH] dt-bindings: leds: lacie,netxbig-leds: Convert to DT schema
Conor Dooley <[email protected]>
| Newsgroups | org.kernel.vger.linux-leds,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260820-seventh-essay-235f3711ad74@spud> |
On Thu, Aug 20, 2026 at 08:32:23PM +0530, Udaya Kiran Challa wrote: > Convert lacie,netxbig-leds devicetree binding from legacy > text format to DT schema. > > Signed-off-by: Udaya Kiran Challa <[email protected]> > --- > .../bindings/leds/lacie,netxbig-leds.yaml | 134 ++++++++++++++++++ > .../devicetree/bindings/leds/leds-netxbig.txt | 92 ------------ > 2 files changed, 134 insertions(+), 92 deletions(-) > create mode 100644 Documentation/devicetree/bindings/leds/lacie,netxbig-leds.yaml > delete mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt > > diff --git a/Documentation/devicetree/bindings/leds/lacie,netxbig-leds.yaml b/Documentation/devicetree/bindings/leds/lacie,netxbig-leds.yaml > new file mode 100644 > index 000000000000..ffdd47458d24 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/lacie,netxbig-leds.yaml > @@ -0,0 +1,134 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/lacie,netxbig-leds.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: LaCie/Seagate netxbig CPLD LEDs > + > +maintainers: > + - Simon Guinot <[email protected]> > + > +description: | > + Binding for the CPLD LEDs (GPIO extension bus) found on some LaCie/Seagate > + boards (Example: 2Big/5Big Network v2, 2Big NAS). > + > +properties: > + compatible: > + const: lacie,netxbig-leds > + > + gpio-ext: > + description: Phandle for the gpio-ext bus. > + $ref: /schemas/types.yaml#/definitions/phandle > + > + timers: > + description: | > + Timer array. Each timer entry is represented by three integers: > + Mode (gpio-ext bus), delay_on and delay_off. > + $ref: /schemas/types.yaml#/definitions/uint32-array > + > +required: > + - compatible > + - gpio-ext This should be after the block defining the child nodes. > + > +additionalProperties: This is not how the child nodes should be implmeneted, it should use pattenProperties instead. > + description: Each child node represents a single LED > + type: object > + $ref: common.yaml# > + unevaluatedProperties: false This should IMO be additionalProperties: false, and the two option properties that are supported explicitly cited. The rest of this looks fine I think. pw-bot: changes-requested Thanks, Conor. > + > + properties: > + mode-addr: > + description: Mode register address on gpio-ext bus. > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + mode-val: > + description: | > + Mode to value mapping. Each entry is represented by two integers: a mode and > + the corresponding value on the gpio-ext bus. > + $ref: /schemas/types.yaml#/definitions/uint32-array > + > + bright-addr: > + description: Brightness register address on gpio-ext bus. > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + max-brightness: > + description: Maximum brightness value. > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + required: > + - mode-addr > + - mode-val > + - bright-addr > + - max-brightness > + > +examples: > + - | > + #include <dt-bindings/leds/leds-netxbig.h> > + > + netxbig-leds { > + compatible = "lacie,netxbig-leds"; > + > + gpio-ext = <&netxbig_gpio_ext>; > + > + timers = <NETXBIG_LED_TIMER1 500 500 > + NETXBIG_LED_TIMER2 500 1000>; > + > + blue-power { > + label = "netxbig:blue:power"; > + mode-addr = <0>; > + mode-val = <NETXBIG_LED_OFF 0 > + NETXBIG_LED_ON 1 > + NETXBIG_LED_TIMER1 3 > + NETXBIG_LED_TIMER2 7>; > + bright-addr = <1>; > + max-brightness = <7>; > + }; > + red-power { > + label = "netxbig:red:power"; > + mode-addr = <0>; > + mode-val = <NETXBIG_LED_OFF 0 > + NETXBIG_LED_ON 2 > + NETXBIG_LED_TIMER1 4>; > + bright-addr = <1>; > + max-brightness = <7>; > + }; > + blue-sata0 { > + label = "netxbig:blue:sata0"; > + mode-addr = <3>; > + mode-val = <NETXBIG_LED_OFF 0 > + NETXBIG_LED_ON 7 > + NETXBIG_LED_SATA 1 > + NETXBIG_LED_TIMER1 3>; > + bright-addr = <2>; > + max-brightness = <7>; > + }; > + red-sata0 { > + label = "netxbig:red:sata0"; > + mode-addr = <3>; > + mode-val = <NETXBIG_LED_OFF 0 > + NETXBIG_LED_ON 2 > + NETXBIG_LED_TIMER1 4>; > + bright-addr = <2>; > + max-brightness = <7>; > + }; > + blue-sata1 { > + label = "netxbig:blue:sata1"; > + mode-addr = <4>; > + mode-val = <NETXBIG_LED_OFF 0 > + NETXBIG_LED_ON 7 > + NETXBIG_LED_SATA 1 > + NETXBIG_LED_TIMER1 3>; > + bright-addr = <2>; > + max-brightness = <7>; > + }; > + red-sata1 { > + label = "netxbig:red:sata1"; > + mode-addr = <4>; > + mode-val = <NETXBIG_LED_OFF 0 > + NETXBIG_LED_ON 2 > + NETXBIG_LED_TIMER1 4>; > + bright-addr = <2>; > + max-brightness = <7>; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/leds/leds-netxbig.txt b/Documentation/devicetree/bindings/leds/leds-netxbig.txt > deleted file mode 100644 > index 5ef92a26d768..000000000000 > --- a/Documentation/devicetree/bindings/leds/leds-netxbig.txt > +++ /dev/null > @@ -1,92 +0,0 @@ > -Binding for the CPLD LEDs (GPIO extension bus) found on some LaCie/Seagate > -boards (Example: 2Big/5Big Network v2, 2Big NAS). > - > -Required properties: > -- compatible: "lacie,netxbig-leds". > -- gpio-ext: Phandle for the gpio-ext bus. > - > -Optional properties: > -- timers: Timer array. Each timer entry is represented by three integers: > - Mode (gpio-ext bus), delay_on and delay_off. > - > -Each LED is represented as a sub-node of the netxbig-leds device. > - > -Required sub-node properties: > -- mode-addr: Mode register address on gpio-ext bus. > -- mode-val: Mode to value mapping. Each entry is represented by two integers: > - A mode and the corresponding value on the gpio-ext bus. > -- bright-addr: Brightness register address on gpio-ext bus. > -- max-brightness: Maximum brightness value. > - > -Optional sub-node properties: > -- label: Name for this LED. If omitted, the label is taken from the node name. > -- linux,default-trigger: Trigger assigned to the LED. > - > -Example: > - > -netxbig-leds { > - compatible = "lacie,netxbig-leds"; > - > - gpio-ext = &gpio_ext; > - > - timers = <NETXBIG_LED_TIMER1 500 500 > - NETXBIG_LED_TIMER2 500 1000>; > - > - blue-power { > - label = "netxbig:blue:power"; > - mode-addr = <0>; > - mode-val = <NETXBIG_LED_OFF 0 > - NETXBIG_LED_ON 1 > - NETXBIG_LED_TIMER1 3 > - NETXBIG_LED_TIMER2 7>; > - bright-addr = <1>; > - max-brightness = <7>; > - }; > - red-power { > - label = "netxbig:red:power"; > - mode-addr = <0>; > - mode-val = <NETXBIG_LED_OFF 0 > - NETXBIG_LED_ON 2 > - NETXBIG_LED_TIMER1 4>; > - bright-addr = <1>; > - max-brightness = <7>; > - }; > - blue-sata0 { > - label = "netxbig:blue:sata0"; > - mode-addr = <3>; > - mode-val = <NETXBIG_LED_OFF 0 > - NETXBIG_LED_ON 7 > - NETXBIG_LED_SATA 1 > - NETXBIG_LED_TIMER1 3>; > - bright-addr = <2>; > - max-brightness = <7>; > - }; > - red-sata0 { > - label = "netxbig:red:sata0"; > - mode-addr = <3>; > - mode-val = <NETXBIG_LED_OFF 0 > - NETXBIG_LED_ON 2 > - NETXBIG_LED_TIMER1 4>; > - bright-addr = <2>; > - max-brightness = <7>; > - }; > - blue-sata1 { > - label = "netxbig:blue:sata1"; > - mode-addr = <4>; > - mode-val = <NETXBIG_LED_OFF 0 > - NETXBIG_LED_ON 7 > - NETXBIG_LED_SATA 1 > - NETXBIG_LED_TIMER1 3>; > - bright-addr = <2>; > - max-brightness = <7>; > - }; > - red-sata1 { > - label = "netxbig:red:sata1"; > - mode-addr = <4>; > - mode-val = <NETXBIG_LED_OFF 0 > - NETXBIG_LED_ON 2 > - NETXBIG_LED_TIMER1 4>; > - bright-addr = <2>; > - max-brightness = <7>; > - }; > -}; > -- > 2.34.1 >
signature.asc
(application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCaodCHwAKCRB4tDGHoIJi 0jwAAQC7Gq3WPlLPBem8GgmKBUy2xFAg89L04idTPsNeoJmcGwD8CKvRp4/bJC9k 8R7oQJ6NCU+dPsYvq8DglgZ/ILbUBQc= =reiD -----END PGP SIGNATURE-----