All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Jun Yan <jerrysteve1101@gmail.com>
Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-leds@vger.kernel.org, lee@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, luccafachinetti@gmail.com,
	pzalewski@thegoodpenguin.co.uk, daniel@zonque.org
Subject: Re: [PATCH v3 1/5] dt-bindings: leds: is31fl32xx: convert the binding to yaml
Date: Wed, 6 May 2026 14:41:24 -0500	[thread overview]
Message-ID: <20260506194124.GA2989390-robh@kernel.org> (raw)
In-Reply-To: <20260429154449.730880-2-jerrysteve1101@gmail.com>

On Wed, Apr 29, 2026 at 11:44:45PM +0800, Jun Yan wrote:
> Convert leds-is31fl32xx to DT schema format.
> 
> Co-developed-by: Lucca Fachinetti <luccafachinetti@gmail.com>
> Signed-off-by: Lucca Fachinetti <luccafachinetti@gmail.com>
> Co-developed-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
> Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
> Signed-off-by: Jun Yan <jerrysteve1101@gmail.com>
> ---
>  .../bindings/leds/issl,is31fl32xx.yaml        | 163 ++++++++++++++++++
>  .../bindings/leds/leds-is31fl32xx.txt         |  53 ------
>  2 files changed, 163 insertions(+), 53 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/leds/issl,is31fl32xx.yaml
>  delete mode 100644 Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt
> 
> diff --git a/Documentation/devicetree/bindings/leds/issl,is31fl32xx.yaml b/Documentation/devicetree/bindings/leds/issl,is31fl32xx.yaml
> new file mode 100644
> index 000000000000..cb4741dee12e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/issl,is31fl32xx.yaml
> @@ -0,0 +1,163 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/issl,is31fl32xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: IS31FL32xx and Si-En SN32xx LED controller
> +
> +maintainers:
> +  - Lucca Fachinetti <luccafachinetti@gmail.com>
> +  - Pavel Machek <pavel@ucw.cz>
> +  - Jun Yan <jerrysteve1101@gmail.com>
> +
> +description: |
> +  The IS31FL32xx/SN32xx family of LED drivers are I2C devices with multiple
> +  constant-current channels, each with independent 256-level PWM control.
> +  Each LED is represented as a sub-node of the device.
> +
> +  For more product information please see the links below:
> +    https://www.lumissil.com/assets/pdf/core/IS31FL3216_DS.pdf
> +    https://www.lumissil.com/assets/pdf/core/IS31FL3218_DS.pdf
> +    https://www.lumissil.com/assets/pdf/core/IS31FL3235_DS.pdf
> +    https://www.lumissil.com/assets/pdf/core/IS31FL3236_DS.pdf
> +    https://www.lumissil.com/assets/pdf/core/IS31FL3293_DS.pdf
> +
> +properties:
> +  compatible:
> +    enum:
> +      - issi,is31fl3216
> +      - issi,is31fl3218
> +      - issi,is31fl3235
> +      - issi,is31fl3236
> +      - issi,is31fl3293
> +      - si-en,sn3216
> +      - si-en,sn3218
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +patternProperties:
> +  "^led@([1-9])+$":

Unit-addresses are hex.

> +    type: object
> +    $ref: common.yaml#
> +    unevaluatedProperties: false
> +
> +    properties:
> +      reg:
> +        description:
> +          LED channel number (1..N)
> +        minimum: 1
> +        maximum: 36
> +
> +    required:
> +      - reg
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - issi,is31fl3293
> +    then:
> +      patternProperties:
> +        "^led@([1-9])+$":

No need to repeat the unit-address pattern here. Just "^led@".

> +          properties:
> +            reg:
> +              maximum: 3
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - issi,is31fl3216
> +              - si-en,sn3216
> +    then:
> +      patternProperties:
> +        "^led@([1-9])+$":
> +          properties:
> +            reg:
> +              maximum: 16
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - issi,is31fl3218
> +              - si-en,sn3218
> +    then:
> +      patternProperties:
> +        "^led@([1-9])+$":
> +          properties:
> +            reg:
> +              maximum: 18
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - issi,is31fl3235
> +    then:
> +      patternProperties:
> +        "^led@([1-9])+$":
> +          properties:
> +            reg:
> +              maximum: 28
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - issi,is31fl3236
> +    then:
> +      patternProperties:
> +        "^led@([1-9])+$":
> +          properties:
> +            reg:
> +              maximum: 36

That's the default max, so you can drop this if/then.

> +
> +required:
> +  - compatible
> +  - reg
> +  - "#address-cells"
> +  - "#size-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/leds/common.h>
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        led-controller@3c {
> +            compatible = "issi,is31fl3236";
> +            reg = <0x3c>;
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            led@1 {
> +                reg = <1>;
> +                color = <LED_COLOR_ID_RED>;
> +                function = LED_FUNCTION_STATUS;
> +            };
> +
> +            led@5 {
> +                reg = <5>;
> +                color = <LED_COLOR_ID_GREEN>;
> +                function = LED_FUNCTION_POWER;
> +                linux,default-trigger = "default-on";
> +            };
> +        };
> +    };
> +...
> +
> diff --git a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt b/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt
> deleted file mode 100644
> index 7082ed186dd9..000000000000
> --- a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -Binding for ISSI IS31FL32xx and Si-En SN32xx LED Drivers
> -
> -The IS31FL32xx/SN32xx family of LED drivers are I2C devices with multiple
> -constant-current channels, each with independent 256-level PWM control.
> -Each LED is represented as a sub-node of the device.
> -
> -Required properties:
> -- compatible: one of
> -	issi,is31fl3236
> -	issi,is31fl3235
> -	issi,is31fl3218
> -	issi,is31fl3216
> -	issi,is31fl3293
> -	si-en,sn3218
> -	si-en,sn3216
> -- reg: I2C slave address
> -- address-cells : must be 1
> -- size-cells : must be 0
> -
> -LED sub-node properties:
> -- reg : LED channel number (1..N)
> -- label :  (optional)
> -  see Documentation/devicetree/bindings/leds/common.txt
> -- linux,default-trigger :  (optional)
> -  see Documentation/devicetree/bindings/leds/common.txt
> -
> -
> -Example:
> -
> -is31fl3236: led-controller@3c {
> -	compatible = "issi,is31fl3236";
> -	reg = <0x3c>;
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -
> -	led@1 {
> -		reg = <1>;
> -		label = "EB:blue:usr0";
> -	};
> -	led@2 {
> -		reg = <2>;
> -		label = "EB:blue:usr1";
> -	};
> -	...
> -	led@36 {
> -		reg = <36>;
> -		label = "EB:blue:usr35";
> -	};
> -};
> -
> -For more product information please see the links below:
> -http://www.issi.com/US/product-analog-fxled-driver.shtml
> -http://www.si-en.com/product.asp?parentid=890
> -- 
> 2.53.0
> 

  reply	other threads:[~2026-05-06 19:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-29 15:44 [PATCH v3 0/5] leds: Add powerdown gpio for is31fl32xx Jun Yan
2026-04-29 15:44 ` [PATCH v3 1/5] dt-bindings: leds: is31fl32xx: convert the binding to yaml Jun Yan
2026-05-06 19:41   ` Rob Herring [this message]
2026-05-07 13:55     ` Jun Yan
2026-04-29 15:44 ` [PATCH v3 2/5] dt-bindings: leds: leds-is31fl32xx: add support for is31fl3236a Jun Yan
2026-05-06 19:42   ` Rob Herring (Arm)
2026-04-29 15:44 ` [PATCH v3 3/5] dt-bindings: leds: leds-is31fl32xx: Add powerdown-gpios property Jun Yan
2026-05-06 19:42   ` Rob Herring (Arm)
2026-04-29 15:44 ` [PATCH v3 4/5] leds: is31fl32xx: Add powerdown pin to exit hardware shutdown mode Jun Yan
2026-04-29 15:44 ` [PATCH v3 5/5] leds: is31f132xx: Fix missing brightness_steps for is31f13236 Jun Yan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260506194124.GA2989390-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=daniel@zonque.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jerrysteve1101@gmail.com \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=luccafachinetti@gmail.com \
    --cc=pzalewski@thegoodpenguin.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.