Re: [PATCH] dt-bindings: leds: lacie,netxbig-leds: Convert to DT schema

From: Conor Dooley

Date: Thu Aug 20 2026 - 14:28:59 EST


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 <challauday369@xxxxxxxxx>
> ---
> .../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 <simon.guinot@xxxxxxxxxxxx>
> +
> +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
>

Attachment: signature.asc
Description: PGP signature