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-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.