All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: leds: Add missing (unevaluated|additional)Properties on child nodes
@ 2022-08-23 14:56 Rob Herring
  2022-08-23 18:27 ` Pavel Machek
  0 siblings, 1 reply; 3+ messages in thread
From: Rob Herring @ 2022-08-23 14:56 UTC (permalink / raw)
  To: Pavel Machek, Krzysztof Kozlowski, Bartosz Golaszewski,
	Vincent Knecht, Nikita Travkin, Jacek Anaszewski, Yi Xin,
	Mallikarjuna reddy, Bjorn Andersson, Matti Vaittinen,
	- NeilBrown
  Cc: Bartosz Golaszewski, linux-leds, devicetree, linux-kernel

In order to ensure only documented properties are present, node schemas
must have unevaluatedProperties or additionalProperties set to false
(typically).

Signed-off-by: Rob Herring <robh@kernel.org>
---
 .../bindings/leds/issi,is31fl319x.yaml           |  1 +
 .../devicetree/bindings/leds/leds-aw2013.yaml    |  1 +
 .../devicetree/bindings/leds/leds-gpio.yaml      |  1 +
 .../devicetree/bindings/leds/leds-lgm.yaml       | 10 +++++++---
 .../devicetree/bindings/leds/leds-max77650.yaml  |  9 ++-------
 .../devicetree/bindings/leds/leds-pwm.yaml       |  1 +
 .../devicetree/bindings/leds/leds-qcom-lpg.yaml  |  6 ++++++
 .../bindings/leds/rohm,bd71828-leds.yaml         | 16 +++-------------
 .../devicetree/bindings/leds/ti,tca6507.yaml     |  1 +
 9 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/Documentation/devicetree/bindings/leds/issi,is31fl319x.yaml b/Documentation/devicetree/bindings/leds/issi,is31fl319x.yaml
index 940333f2d69c..2929382625b6 100644
--- a/Documentation/devicetree/bindings/leds/issi,is31fl319x.yaml
+++ b/Documentation/devicetree/bindings/leds/issi,is31fl319x.yaml
@@ -57,6 +57,7 @@ patternProperties:
   "^led@[1-9]$":
     type: object
     $ref: common.yaml#
+    unevaluatedProperties: false
 
     properties:
       reg:
diff --git a/Documentation/devicetree/bindings/leds/leds-aw2013.yaml b/Documentation/devicetree/bindings/leds/leds-aw2013.yaml
index e24b0d15ef01..6c3ea0f06cef 100644
--- a/Documentation/devicetree/bindings/leds/leds-aw2013.yaml
+++ b/Documentation/devicetree/bindings/leds/leds-aw2013.yaml
@@ -33,6 +33,7 @@ patternProperties:
   "^led@[0-2]$":
     type: object
     $ref: common.yaml#
+    unevaluatedProperties: false
 
     properties:
       reg:
diff --git a/Documentation/devicetree/bindings/leds/leds-gpio.yaml b/Documentation/devicetree/bindings/leds/leds-gpio.yaml
index 7ad2baeda0b0..f156d3e47b71 100644
--- a/Documentation/devicetree/bindings/leds/leds-gpio.yaml
+++ b/Documentation/devicetree/bindings/leds/leds-gpio.yaml
@@ -25,6 +25,7 @@ patternProperties:
     type: object
 
     $ref: common.yaml#
+    unevaluatedProperties: false
 
     properties:
       gpios:
diff --git a/Documentation/devicetree/bindings/leds/leds-lgm.yaml b/Documentation/devicetree/bindings/leds/leds-lgm.yaml
index f8d7963c3a13..8b3b3bf1eaf2 100644
--- a/Documentation/devicetree/bindings/leds/leds-lgm.yaml
+++ b/Documentation/devicetree/bindings/leds/leds-lgm.yaml
@@ -56,7 +56,8 @@ properties:
 
     patternProperties:
       "^led@[0-2]$":
-        type: object
+        $ref: common.yaml#
+        unevaluatedProperties: false
 
         properties:
           reg:
@@ -64,6 +65,9 @@ properties:
             minimum: 0
             maximum: 2
 
+          led-gpios:
+            maxItems: 1
+
           intel,sso-hw-trigger:
             type: boolean
             description: This property indicates Hardware driven/control LED.
@@ -118,14 +122,14 @@ examples:
           reg = <0>;
           function = "gphy";
           color = <LED_COLOR_ID_GREEN>;
-          led-gpio = <&ssogpio 0 0>;
+          led-gpios = <&ssogpio 0 0>;
         };
 
         led@2 {
           reg = <2>;
           function = LED_FUNCTION_POWER;
           color = <LED_COLOR_ID_GREEN>;
-          led-gpio = <&ssogpio 23 0>;
+          led-gpios = <&ssogpio 23 0>;
         };
       };
     };
diff --git a/Documentation/devicetree/bindings/leds/leds-max77650.yaml b/Documentation/devicetree/bindings/leds/leds-max77650.yaml
index c6f96cabd4d1..fdb08f44a45d 100644
--- a/Documentation/devicetree/bindings/leds/leds-max77650.yaml
+++ b/Documentation/devicetree/bindings/leds/leds-max77650.yaml
@@ -30,9 +30,8 @@ properties:
 
 patternProperties:
   "^led@[0-2]$":
-    type: object
-    description: |
-      Properties for a single LED.
+    $ref: common.yaml#
+    unevaluatedProperties: false
 
     properties:
       reg:
@@ -41,10 +40,6 @@ patternProperties:
         minimum: 0
         maximum: 2
 
-      label: true
-
-      linux,default-trigger: true
-
 required:
   - compatible
   - "#address-cells"
diff --git a/Documentation/devicetree/bindings/leds/leds-pwm.yaml b/Documentation/devicetree/bindings/leds/leds-pwm.yaml
index fe4d5fd25913..e60009863d07 100644
--- a/Documentation/devicetree/bindings/leds/leds-pwm.yaml
+++ b/Documentation/devicetree/bindings/leds/leds-pwm.yaml
@@ -22,6 +22,7 @@ patternProperties:
     type: object
 
     $ref: common.yaml#
+    unevaluatedProperties: false
 
     properties:
       pwms:
diff --git a/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml b/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml
index 497db289169d..6f43aadea3be 100644
--- a/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml
+++ b/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml
@@ -72,11 +72,17 @@ properties:
       "^led@[0-9a-f]$":
         type: object
         $ref: common.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          reg:
+            maxItems: 1
 
 patternProperties:
   "^led@[0-9a-f]$":
     type: object
     $ref: common.yaml#
+    unevaluatedProperties: false
 
     properties:
       reg: true
diff --git a/Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml b/Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml
index 86a37c92b834..ca92cea56a6f 100644
--- a/Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml
+++ b/Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml
@@ -26,26 +26,16 @@ properties:
 
 patternProperties:
   "^led-[1-2]$":
-    type: object
-    description:
-      Properties for a single LED.
+    $ref: common.yaml#
+    unevaluatedProperties: false
+
     properties:
-      #allOf:
-        #- $ref: "common.yaml#"
       rohm,led-compatible:
         description: LED identification string
         $ref: "/schemas/types.yaml#/definitions/string"
         enum:
           - bd71828-ambled
           - bd71828-grnled
-      function:
-        description:
-          Purpose of LED as defined in dt-bindings/leds/common.h
-        $ref: "/schemas/types.yaml#/definitions/string"
-      color:
-        description:
-          LED colour as defined in dt-bindings/leds/common.h
-        $ref: "/schemas/types.yaml#/definitions/uint32"
 
 required:
   - compatible
diff --git a/Documentation/devicetree/bindings/leds/ti,tca6507.yaml b/Documentation/devicetree/bindings/leds/ti,tca6507.yaml
index 32c600387895..e83964600993 100644
--- a/Documentation/devicetree/bindings/leds/ti,tca6507.yaml
+++ b/Documentation/devicetree/bindings/leds/ti,tca6507.yaml
@@ -40,6 +40,7 @@ patternProperties:
     type: object
 
     $ref: common.yaml#
+    unevaluatedProperties: false
 
     properties:
       reg:
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] dt-bindings: leds: Add missing (unevaluated|additional)Properties on child nodes
  2022-08-23 14:56 [PATCH] dt-bindings: leds: Add missing (unevaluated|additional)Properties on child nodes Rob Herring
@ 2022-08-23 18:27 ` Pavel Machek
  2022-08-24 17:36   ` Rob Herring
  0 siblings, 1 reply; 3+ messages in thread
From: Pavel Machek @ 2022-08-23 18:27 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Bartosz Golaszewski, Vincent Knecht,
	Nikita Travkin, Jacek Anaszewski, Yi Xin, Mallikarjuna reddy,
	Bjorn Andersson, Matti Vaittinen, - NeilBrown,
	Bartosz Golaszewski, linux-leds, devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1612 bytes --]

Hi!

> In order to ensure only documented properties are present, node schemas
> must have unevaluatedProperties or additionalProperties set to false
> (typically).
>
> Signed-off-by: Rob Herring <robh@kernel.org>

Patch does way more than that:

Can we get some explanation why that's correct?

Best regards,
								Pavel

> index f8d7963c3a13..8b3b3bf1eaf2 100644
> --- a/Documentation/devicetree/bindings/leds/leds-lgm.yaml
> +++ b/Documentation/devicetree/bindings/leds/leds-lgm.yaml
> @@ -56,7 +56,8 @@ properties:
>  
>      patternProperties:
>        "^led@[0-2]$":
> -        type: object
> +        $ref: common.yaml#
> +        unevaluatedProperties: false
>  
>          properties:
>            reg:
> @@ -64,6 +65,9 @@ properties:
>              minimum: 0
>              maximum: 2
>  
> +          led-gpios:
> +            maxItems: 1
> +
>            intel,sso-hw-trigger:
>              type: boolean
>              description: This property indicates Hardware driven/control LED.
> @@ -118,14 +122,14 @@ examples:
>            reg = <0>;
>            function = "gphy";
>            color = <LED_COLOR_ID_GREEN>;
> -          led-gpio = <&ssogpio 0 0>;
> +          led-gpios = <&ssogpio 0 0>;
>          };
>  
>          led@2 {
>            reg = <2>;
>            function = LED_FUNCTION_POWER;
>            color = <LED_COLOR_ID_GREEN>;
> -          led-gpio = <&ssogpio 23 0>;
> +          led-gpios = <&ssogpio 23 0>;
>          };
>        };
>      };

-- 
People of Russia, stop Putin before his war on Ukraine escalates.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] dt-bindings: leds: Add missing (unevaluated|additional)Properties on child nodes
  2022-08-23 18:27 ` Pavel Machek
@ 2022-08-24 17:36   ` Rob Herring
  0 siblings, 0 replies; 3+ messages in thread
From: Rob Herring @ 2022-08-24 17:36 UTC (permalink / raw)
  To: Pavel Machek
  Cc: Krzysztof Kozlowski, Bartosz Golaszewski, Vincent Knecht,
	Nikita Travkin, Jacek Anaszewski, Yi Xin, Mallikarjuna reddy,
	Bjorn Andersson, Matti Vaittinen, - NeilBrown,
	Bartosz Golaszewski, Linux LED Subsystem, devicetree,
	linux-kernel

On Tue, Aug 23, 2022 at 1:28 PM Pavel Machek <pavel@ucw.cz> wrote:
>
> Hi!
>
> > In order to ensure only documented properties are present, node schemas
> > must have unevaluatedProperties or additionalProperties set to false
> > (typically).
> >
> > Signed-off-by: Rob Herring <robh@kernel.org>
>
> Patch does way more than that:

It only 'ensure only documented properties are present', but yeah, it
is sometimes more than just adding unevaluatedProperties.

> Can we get some explanation why that's correct?

...adds missing $ref if needed, and fixes resulting errors about
unevaluatedProperties.

BTW, these are just the simple ones. The led bindings with multi-led
nodes are more of a mess. I haven't decided exactly how to fix those.

Rob

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-08-24 17:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-23 14:56 [PATCH] dt-bindings: leds: Add missing (unevaluated|additional)Properties on child nodes Rob Herring
2022-08-23 18:27 ` Pavel Machek
2022-08-24 17:36   ` Rob Herring

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.