[net PATCH 2/2] dt-bindings: net: marvell,orion-mdio: Fix examples

Michał Grzelak posted 2 patches 2 years, 8 months ago
[net PATCH 2/2] dt-bindings: net: marvell,orion-mdio: Fix examples
Posted by Michał Grzelak 2 years, 8 months ago
As stated in marvell-orion-mdio.txt deleted in 'commit 0781434af811f
("dt-bindings: net: orion-mdio: Convert to JSON schema")' if
'interrupts' property is present, width of 'reg' should be 0x84.
Otherwise, width of 'reg' should be 0x4. Fix 'examples:' and extend it
by second example from marvell-orion-mdio.txt.

Signed-off-by: Michał Grzelak <mig@semihalf.com>
---
 .../devicetree/bindings/net/marvell,orion-mdio.yaml  | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
index 2b2b3f8709fc..d260794e92c5 100644
--- a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
+++ b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
@@ -47,9 +47,10 @@ unevaluatedProperties: false
 
 examples:
   - |
+    // MDIO binding with interrupt
     mdio@d0072004 {
       compatible = "marvell,orion-mdio";
-      reg = <0xd0072004 0x4>;
+      reg = <0xd0072004 0x84>;
       #address-cells = <1>;
       #size-cells = <0>;
       interrupts = <30>;
@@ -62,3 +63,12 @@ examples:
         reg = <1>;
       };
     };
+
+  - |
+    // MDIO binding without interrupt
+    mdio@d0072004 {
+      compatible = "marvell,orion-mdio";
+      reg = <0xd0072004 0x4>;
+      #address-cells = <1>;
+      #size-cells = <0>;
+    };
-- 
2.34.1

Re: [net PATCH 2/2] dt-bindings: net: marvell,orion-mdio: Fix examples
Posted by Krzysztof Kozlowski 2 years, 8 months ago
On 27/12/2022 02:05, Michał Grzelak wrote:
> As stated in marvell-orion-mdio.txt deleted in 'commit 0781434af811f
> ("dt-bindings: net: orion-mdio: Convert to JSON schema")' if

Drop '' quotes.

BTW, read the original binding to find the answer for your first patch.


> 'interrupts' property is present, width of 'reg' should be 0x84.
> Otherwise, width of 'reg' should be 0x4. Fix 'examples:' and extend it
> by second example from marvell-orion-mdio.txt.

The original binding did not say that, unless you mean giving different
examples? Examples are not a binding.

> 
> Signed-off-by: Michał Grzelak <mig@semihalf.com>
> ---
>  .../devicetree/bindings/net/marvell,orion-mdio.yaml  | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> index 2b2b3f8709fc..d260794e92c5 100644
> --- a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> +++ b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> @@ -47,9 +47,10 @@ unevaluatedProperties: false
>  
>  examples:
>    - |
> +    // MDIO binding with interrupt
>      mdio@d0072004 {
>        compatible = "marvell,orion-mdio";
> -      reg = <0xd0072004 0x4>;
> +      reg = <0xd0072004 0x84>;
>        #address-cells = <1>;
>        #size-cells = <0>;
>        interrupts = <30>;
> @@ -62,3 +63,12 @@ examples:
>          reg = <1>;
>        };
>      };
> +
> +  - |
> +    // MDIO binding without interrupt
> +    mdio@d0072004 {
> +      compatible = "marvell,orion-mdio";
> +      reg = <0xd0072004 0x4>;
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +    };

Why? The same compatible, the same nodes. No differences. Missing pieces
is not a big difference justifying new example.

Best regards,
Krzysztof

[PATCH v2] dt-bindings: net: marvell,orion-mdio: Fix examples
Posted by Michał Grzelak 2 years, 8 months ago
As stated in marvell-orion-mdio.txt deleted in commit 0781434af811f
("dt-bindings: net: orion-mdio: Convert to JSON schema") if
'interrupts' property is present, width of 'reg' should be 0x84.
Otherwise, width of 'reg' should be 0x4. Fix 'examples:' and add
constraints checking whether 'interrupts' property is present
and validate it against fixed values in reg.

Signed-off-by: Michał Grzelak <mig@semihalf.com>
---
Changelog:
v1->v2:
- remove second example
- add 'if:' constraint to 'allOf:'
- move 'allOf:' before 'examples:'

 .../bindings/net/marvell,orion-mdio.yaml      | 31 ++++++++++++++++---
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
index d2906b4a0f59..381cd8edebed 100644
--- a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
+++ b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
@@ -16,9 +16,6 @@ description: |
   8k has a second unit which provides an interface with the xMDIO bus. This
   driver handles these interfaces.
 
-allOf:
-  - $ref: "mdio.yaml#"
-
 properties:
   compatible:
     enum:
@@ -39,13 +36,39 @@ required:
   - compatible
   - reg
 
+allOf:
+
+  - $ref: "mdio.yaml#"
+
+  - if:
+      required:
+        - interrupts
+
+    then:
+      properties:
+        reg:
+          items:
+            - items:
+                - $ref: /schemas/types.yaml#/definitions/cell
+                - const: 0x84
+
+    else:
+      properties:
+        reg:
+          items:
+            - items:
+                - $ref: /schemas/types.yaml#/definitions/cell
+                - enum:
+                    - 0x4
+                    - 0x10
+
 unevaluatedProperties: false
 
 examples:
   - |
     mdio@d0072004 {
       compatible = "marvell,orion-mdio";
-      reg = <0xd0072004 0x4>;
+      reg = <0xd0072004 0x84>;
       #address-cells = <1>;
       #size-cells = <0>;
       interrupts = <30>;
-- 
2.34.1

Re: [PATCH v2] dt-bindings: net: marvell,orion-mdio: Fix examples
Posted by Krzysztof Kozlowski 2 years, 8 months ago
On 28/12/2022 02:54, Michał Grzelak wrote:
> As stated in marvell-orion-mdio.txt deleted in commit 0781434af811f
> ("dt-bindings: net: orion-mdio: Convert to JSON schema") if
> 'interrupts' property is present, width of 'reg' should be 0x84.
> Otherwise, width of 'reg' should be 0x4. Fix 'examples:' and add
> constraints checking whether 'interrupts' property is present
> and validate it against fixed values in reg.
> 
> Signed-off-by: Michał Grzelak <mig@semihalf.com>
> ---
> Changelog:
> v1->v2:
> - remove second example
> - add 'if:' constraint to 'allOf:'
> - move 'allOf:' before 'examples:'
> 
>  .../bindings/net/marvell,orion-mdio.yaml      | 31 ++++++++++++++++---
>  1 file changed, 27 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> index d2906b4a0f59..381cd8edebed 100644
> --- a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> +++ b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> @@ -16,9 +16,6 @@ description: |
>    8k has a second unit which provides an interface with the xMDIO bus. This
>    driver handles these interfaces.
>  
> -allOf:
> -  - $ref: "mdio.yaml#"
> -
>  properties:
>    compatible:
>      enum:
> @@ -39,13 +36,39 @@ required:
>    - compatible
>    - reg
>  
> +allOf:
> +

Drop blank line.

> +  - $ref: "mdio.yaml#"

Drop quotes while moving it.

> +
> +  - if:
> +      required:
> +        - interrupts
> +
> +    then:
> +      properties:
> +        reg:
> +          items:
> +            - items:
> +                - $ref: /schemas/types.yaml#/definitions/cell
> +                - const: 0x84
> +
> +    else:
> +      properties:
> +        reg:
> +          items:
> +            - items:
> +                - $ref: /schemas/types.yaml#/definitions/cell
> +                - enum:
> +                    - 0x4
> +                    - 0x10

Rest looks good.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof