2022-12-27 01:19:09

by Michał Grzelak

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

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 <[email protected]>
---
.../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


2022-12-27 08:36:29

by Krzysztof Kozlowski

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

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 <[email protected]>
> ---
> .../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

2022-12-28 02:22:49

by Michał Grzelak

[permalink] [raw]
Subject: [PATCH v2] dt-bindings: net: marvell,orion-mdio: Fix examples

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 <[email protected]>
---
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

2022-12-29 09:21:48

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2] dt-bindings: net: marvell,orion-mdio: Fix examples

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 <[email protected]>
> ---
> 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 <[email protected]>

Best regards,
Krzysztof