[v2,1/2] dt-bindings: leds: Convert PCA9532 to dtschema

Message ID 20230111163404.3526248-1-w.egorov@phytec.de
State New
Headers
Series [v2,1/2] dt-bindings: leds: Convert PCA9532 to dtschema |

Commit Message

Wadim Egorov Jan. 11, 2023, 4:34 p.m. UTC
  Convert the PCA9532 LED dimmer to dtschema.
While at it, also update and the the example to match
recommended node names and the link to the product datasheet.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
---
v2:
  - Rename yaml file to match compatibles, nxp,pca953x.yaml
  - Remove Jacek Anaszewski from maintainers list
  - Remove color labels in example
  - Restore labels/default-states from original example
  - Drop reg description
  - Add unevaluatedProperties to patternProperties scope
  - Update description of type property & set default to 0
  - Fix indentation in example
---
 .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
 .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
 2 files changed, 85 insertions(+), 49 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
 create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
  

Comments

Rob Herring Jan. 11, 2023, 6:47 p.m. UTC | #1
On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
> Convert the PCA9532 LED dimmer to dtschema.
> While at it, also update and the the example to match
> recommended node names and the link to the product datasheet.
> 
> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
> ---
> v2:
>   - Rename yaml file to match compatibles, nxp,pca953x.yaml
>   - Remove Jacek Anaszewski from maintainers list
>   - Remove color labels in example
>   - Restore labels/default-states from original example
>   - Drop reg description
>   - Add unevaluatedProperties to patternProperties scope
>   - Update description of type property & set default to 0
>   - Fix indentation in example
> ---
>  .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
>  .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
>  2 files changed, 85 insertions(+), 49 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
>  create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de


leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
	arch/arm/boot/dts/rk3288-phycore-rdk.dtb

leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
	arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb

pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
	arch/arm/boot/dts/am335x-pdu001.dtb

pca9532@60: '#gpio-cells', 'gpio-controller' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
	arch/arm/boot/dts/lpc3250-ea3250.dtb

pca9532@60: 'psc0', 'psc1', 'pwm0', 'pwm1', 'run.green@1', 'run.red@0', 's1.green@5', 's1.yellow@4', 's2.green@3', 's2.red@2' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
	arch/arm/boot/dts/am335x-pdu001.dtb
  
Rob Herring Jan. 11, 2023, 6:51 p.m. UTC | #2
On Wed, Jan 11, 2023 at 12:47 PM Rob Herring <robh@kernel.org> wrote:
>
>
> On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
> > Convert the PCA9532 LED dimmer to dtschema.
> > While at it, also update and the the example to match
> > recommended node names and the link to the product datasheet.
> >
> > Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
> > ---
> > v2:
> >   - Rename yaml file to match compatibles, nxp,pca953x.yaml
> >   - Remove Jacek Anaszewski from maintainers list
> >   - Remove color labels in example
> >   - Restore labels/default-states from original example
> >   - Drop reg description
> >   - Add unevaluatedProperties to patternProperties scope
> >   - Update description of type property & set default to 0
> >   - Fix indentation in example
> > ---
> >  .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
> >  .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
> >  2 files changed, 85 insertions(+), 49 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
> >  create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
> >
>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de
>
>
> leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>         arch/arm/boot/dts/rk3288-phycore-rdk.dtb
>
> leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>         arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb
>
> pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>         arch/arm/boot/dts/am335x-pdu001.dtb
>
> pca9532@60: '#gpio-cells', 'gpio-controller' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>         arch/arm/boot/dts/lpc3250-ea3250.dtb

Looks like GPIO properties need to be added as we have dts file and
the driver supports GPIO. It's fine to add in the conversion, just
mention it in the commit msg.

Also, your 2 patches in the series are unrelated and go to different
maintainers, so send them separately next time.

Rob
  
Wadim Egorov Jan. 13, 2023, 4:18 p.m. UTC | #3
Am 11.01.23 um 19:51 schrieb Rob Herring:
> On Wed, Jan 11, 2023 at 12:47 PM Rob Herring <robh@kernel.org> wrote:
>>
>> On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
>>> Convert the PCA9532 LED dimmer to dtschema.
>>> While at it, also update and the the example to match
>>> recommended node names and the link to the product datasheet.
>>>
>>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
>>> ---
>>> v2:
>>>    - Rename yaml file to match compatibles, nxp,pca953x.yaml
>>>    - Remove Jacek Anaszewski from maintainers list
>>>    - Remove color labels in example
>>>    - Restore labels/default-states from original example
>>>    - Drop reg description
>>>    - Add unevaluatedProperties to patternProperties scope
>>>    - Update description of type property & set default to 0
>>>    - Fix indentation in example
>>> ---
>>>   .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
>>>   .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
>>>   2 files changed, 85 insertions(+), 49 deletions(-)
>>>   delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
>>>   create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
>>>
>> Running 'make dtbs_check' with the schema in this patch gives the
>> following warnings. Consider if they are expected or the schema is
>> incorrect. These may not be new warnings.
>>
>> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
>> This will change in the future.
>>
>> Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de
>>
>>
>> leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>>          arch/arm/boot/dts/rk3288-phycore-rdk.dtb
>>
>> leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>>          arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb
>>
>> pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>>          arch/arm/boot/dts/am335x-pdu001.dtb

How do I comply with the LED label warnings?
I am not sure about the proper convention. I was assuming led-<name> is correct.
The first two warnings can be fixed by dropping the '-' in the regex.
But I don't see how the last warning should comply with a proper LED node name. 
Or can this be ignored?

>>
>> pca9532@60: '#gpio-cells', 'gpio-controller' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>>          arch/arm/boot/dts/lpc3250-ea3250.dtb
> Looks like GPIO properties need to be added as we have dts file and
> the driver supports GPIO. It's fine to add in the conversion, just
> mention it in the commit msg.

OK, thanks for pointing it out. I will add it in v3.

>
> Also, your 2 patches in the series are unrelated and go to different
> maintainers, so send them separately next time.

ok.

Regards,
Wadim

>
> Rob
  
Rob Herring Jan. 13, 2023, 7:22 p.m. UTC | #4
On Fri, Jan 13, 2023 at 04:18:26PM +0000, Wadim Egorov wrote:
> Am 11.01.23 um 19:51 schrieb Rob Herring:
> > On Wed, Jan 11, 2023 at 12:47 PM Rob Herring <robh@kernel.org> wrote:
> >>
> >> On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
> >>> Convert the PCA9532 LED dimmer to dtschema.
> >>> While at it, also update and the the example to match
> >>> recommended node names and the link to the product datasheet.
> >>>
> >>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
> >>> ---
> >>> v2:
> >>>    - Rename yaml file to match compatibles, nxp,pca953x.yaml
> >>>    - Remove Jacek Anaszewski from maintainers list
> >>>    - Remove color labels in example
> >>>    - Restore labels/default-states from original example
> >>>    - Drop reg description
> >>>    - Add unevaluatedProperties to patternProperties scope
> >>>    - Update description of type property & set default to 0
> >>>    - Fix indentation in example
> >>> ---
> >>>   .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
> >>>   .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
> >>>   2 files changed, 85 insertions(+), 49 deletions(-)
> >>>   delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
> >>>   create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
> >>>
> >> Running 'make dtbs_check' with the schema in this patch gives the
> >> following warnings. Consider if they are expected or the schema is
> >> incorrect. These may not be new warnings.
> >>
> >> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> >> This will change in the future.
> >>
> >> Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de
> >>
> >>
> >> leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> >>          arch/arm/boot/dts/rk3288-phycore-rdk.dtb
> >>
> >> leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> >>          arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb
> >>
> >> pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> >>          arch/arm/boot/dts/am335x-pdu001.dtb
> 
> How do I comply with the LED label warnings?
> I am not sure about the proper convention. I was assuming led-<name> is correct.
> The first two warnings can be fixed by dropping the '-' in the regex.
> But I don't see how the last warning should comply with a proper LED node name. 
> Or can this be ignored?

Those dts files should be fixed, not the schema. You don't have to do 
that.

Rob
  

Patch

diff --git a/Documentation/devicetree/bindings/leds/leds-pca9532.txt b/Documentation/devicetree/bindings/leds/leds-pca9532.txt
deleted file mode 100644
index f769c52e3643..000000000000
--- a/Documentation/devicetree/bindings/leds/leds-pca9532.txt
+++ /dev/null
@@ -1,49 +0,0 @@ 
-*NXP - pca9532 PWM LED Driver
-
-The PCA9532 family is SMBus I/O expander optimized for dimming LEDs.
-The PWM support 256 steps.
-
-Required properties:
-	- compatible:
-		"nxp,pca9530"
-		"nxp,pca9531"
-		"nxp,pca9532"
-		"nxp,pca9533"
-	- reg -  I2C slave address
-
-Each led is represented as a sub-node of the nxp,pca9530.
-
-Optional sub-node properties:
-	- label: see Documentation/devicetree/bindings/leds/common.txt
-	- type: Output configuration, see dt-bindings/leds/leds-pca9532.h (default NONE)
-	- linux,default-trigger: see Documentation/devicetree/bindings/leds/common.txt
-	- default-state: see Documentation/devicetree/bindings/leds/common.txt
-	  This property is only valid for sub-nodes of type <PCA9532_TYPE_LED>.
-
-Example:
-  #include <dt-bindings/leds/leds-pca9532.h>
-
-  leds: pca9530@60 {
-    compatible = "nxp,pca9530";
-    reg = <0x60>;
-
-    red-power {
-      label = "pca:red:power";
-      type = <PCA9532_TYPE_LED>;
-    };
-    green-power {
-      label = "pca:green:power";
-      type = <PCA9532_TYPE_LED>;
-    };
-    kernel-booting {
-      type = <PCA9532_TYPE_LED>;
-      default-state = "on";
-    };
-    sys-stat {
-      type = <PCA9532_TYPE_LED>;
-      default-state = "keep"; // don't touch, was set by U-Boot
-    };
-  };
-
-For more product information please see the link below:
-http://nxp.com/documents/data_sheet/PCA9532.pdf
diff --git a/Documentation/devicetree/bindings/leds/nxp,pca953x.yaml b/Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
new file mode 100644
index 000000000000..f735379775a7
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
@@ -0,0 +1,85 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/nxp,pca953x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP PCA9532 LED Dimmer
+
+maintainers:
+  - Riku Voipio <riku.voipio@iki.fi>
+
+description: |
+  The PCA9532 family is SMBus I/O expander optimized for dimming LEDs.
+  The PWM support 256 steps.
+
+  For more product information please see the link below:
+    https://www.nxp.com/docs/en/data-sheet/PCA9532.pdf
+
+properties:
+  compatible:
+    enum:
+      - nxp,pca9530
+      - nxp,pca9531
+      - nxp,pca9532
+      - nxp,pca9533
+
+  reg:
+    maxItems: 1
+
+patternProperties:
+  "^led-[0-9a-z]+$":
+    type: object
+    $ref: common.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      type:
+        description: |
+          Output configuration, see include/dt-bindings/leds/leds-pca9532.h
+        $ref: /schemas/types.yaml#/definitions/uint32
+        default: 0
+        minimum: 0
+        maximum: 4
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/leds/leds-pca9532.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        led-controller@62 {
+            compatible = "nxp,pca9533";
+            reg = <0x62>;
+
+            led-1 {
+                label = "pca:red:power";
+                type = <PCA9532_TYPE_LED>;
+            };
+
+            led-2 {
+                label = "pca:green:power";
+                type = <PCA9532_TYPE_LED>;
+            };
+
+            led-3 {
+                type = <PCA9532_TYPE_LED>;
+                default-state = "on";
+            };
+
+            led-4 {
+                type = <PCA9532_TYPE_LED>;
+                default-state = "keep";
+            };
+        };
+    };
+
+...