* [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.