diff mbox series

[v3,1/1] dt-bindings: net: mdio: change nodename match pattern

Message ID 20240814170322.4023572-1-Frank.Li@nxp.com (mailing list archive)
State Superseded
Headers show
Series [v3,1/1] dt-bindings: net: mdio: change nodename match pattern | expand

Commit Message

Frank Li Aug. 14, 2024, 5:03 p.m. UTC
Change mdio.yaml nodename match pattern to
	'^mdio(-(bus|external))?(@.+|-([0-9]+))$'

Fix mdio.yaml wrong parser mdio controller's address instead phy's address
when mdio-mux exist.

For example:
mdio-mux-emi1@54 {
	compatible = "mdio-mux-mmioreg", "mdio-mux";

        mdio@20 {
		reg = <0x20>;
		       ^^^ This is mdio controller register

		ethernet-phy@2 {
			reg = <0x2>;
                              ^^^ This phy's address
		};
	};
};

Only phy's address is limited to 31 because MDIO bus definition.

But CHECK_DTBS report below warning:

arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb: mdio-mux-emi1@54:
	mdio@20:reg:0:0: 32 is greater than the maximum of 31

The reason is that "mdio-mux-emi1@54" match "nodename: '^mdio(@.*)?'" in
mdio.yaml.

Change to '^mdio(-(bus|external))?(@.+|-([0-9]+))$' to avoid wrong match
mdio mux controller's node.

Also change node name mdio to mdio-0 in example of mdio-gpio.yaml to avoid
warning.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Change from v2 to v3
- update mdio-gpio.yaml node name mdio to mdio-0 to fix dt_binding_check
error foud by rob's bot.

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mdio-gpio.example.dtb: mdio: $nodename:0: 'mdio' does not match '^mdio(-(bus|external))?(@.+|-([0-9]+))$'
	from schema $id: http://devicetree.org/schemas/net/mdio-gpio.yaml#

Change from v1 to v2
- use rob's suggest to fix node name pattern.
---
 Documentation/devicetree/bindings/net/mdio-gpio.yaml | 2 +-
 Documentation/devicetree/bindings/net/mdio.yaml      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Rob Herring Aug. 15, 2024, 3:28 p.m. UTC | #1
On Wed, Aug 14, 2024 at 01:03:21PM -0400, Frank Li wrote:
> Change mdio.yaml nodename match pattern to
> 	'^mdio(-(bus|external))?(@.+|-([0-9]+))$'
> 
> Fix mdio.yaml wrong parser mdio controller's address instead phy's address
> when mdio-mux exist.
> 
> For example:
> mdio-mux-emi1@54 {
> 	compatible = "mdio-mux-mmioreg", "mdio-mux";
> 
>         mdio@20 {
> 		reg = <0x20>;
> 		       ^^^ This is mdio controller register
> 
> 		ethernet-phy@2 {
> 			reg = <0x2>;
>                               ^^^ This phy's address
> 		};
> 	};
> };
> 
> Only phy's address is limited to 31 because MDIO bus definition.
> 
> But CHECK_DTBS report below warning:
> 
> arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb: mdio-mux-emi1@54:
> 	mdio@20:reg:0:0: 32 is greater than the maximum of 31
> 
> The reason is that "mdio-mux-emi1@54" match "nodename: '^mdio(@.*)?'" in
> mdio.yaml.
> 
> Change to '^mdio(-(bus|external))?(@.+|-([0-9]+))$' to avoid wrong match
> mdio mux controller's node.
> 
> Also change node name mdio to mdio-0 in example of mdio-gpio.yaml to avoid
> warning.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> Change from v2 to v3
> - update mdio-gpio.yaml node name mdio to mdio-0 to fix dt_binding_check
> error foud by rob's bot.
> 
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mdio-gpio.example.dtb: mdio: $nodename:0: 'mdio' does not match '^mdio(-(bus|external))?(@.+|-([0-9]+))$'
> 	from schema $id: http://devicetree.org/schemas/net/mdio-gpio.yaml#
> 
> Change from v1 to v2
> - use rob's suggest to fix node name pattern.
> ---
>  Documentation/devicetree/bindings/net/mdio-gpio.yaml | 2 +-
>  Documentation/devicetree/bindings/net/mdio.yaml      | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/mdio-gpio.yaml b/Documentation/devicetree/bindings/net/mdio-gpio.yaml
> index eb4171a1940e4..3be4f94638e61 100644
> --- a/Documentation/devicetree/bindings/net/mdio-gpio.yaml
> +++ b/Documentation/devicetree/bindings/net/mdio-gpio.yaml
> @@ -44,7 +44,7 @@ examples:
>          mdio-gpio0 = &mdio0;
>      };
>  
> -    mdio0: mdio {

Just 'mdio' should be accepted. There's a lot of those.

> +    mdio0: mdio-0 {
>        compatible = "virtual,mdio-gpio";
>        #address-cells = <1>;
>        #size-cells = <0>;
> diff --git a/Documentation/devicetree/bindings/net/mdio.yaml b/Documentation/devicetree/bindings/net/mdio.yaml
> index a266ade918ca7..2ed787e4fbbf2 100644
> --- a/Documentation/devicetree/bindings/net/mdio.yaml
> +++ b/Documentation/devicetree/bindings/net/mdio.yaml
> @@ -19,7 +19,7 @@ description:
>  
>  properties:
>    $nodename:
> -    pattern: "^mdio(@.*)?"
> +    pattern: '^mdio(-(bus|external))?(@.+|-([0-9]+))$'

Needs a '?' on the end:

'^mdio(-(bus|external))?(@.+|-([0-9]+))?$'

>  
>    "#address-cells":
>      const: 1
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/mdio-gpio.yaml b/Documentation/devicetree/bindings/net/mdio-gpio.yaml
index eb4171a1940e4..3be4f94638e61 100644
--- a/Documentation/devicetree/bindings/net/mdio-gpio.yaml
+++ b/Documentation/devicetree/bindings/net/mdio-gpio.yaml
@@ -44,7 +44,7 @@  examples:
         mdio-gpio0 = &mdio0;
     };
 
-    mdio0: mdio {
+    mdio0: mdio-0 {
       compatible = "virtual,mdio-gpio";
       #address-cells = <1>;
       #size-cells = <0>;
diff --git a/Documentation/devicetree/bindings/net/mdio.yaml b/Documentation/devicetree/bindings/net/mdio.yaml
index a266ade918ca7..2ed787e4fbbf2 100644
--- a/Documentation/devicetree/bindings/net/mdio.yaml
+++ b/Documentation/devicetree/bindings/net/mdio.yaml
@@ -19,7 +19,7 @@  description:
 
 properties:
   $nodename:
-    pattern: "^mdio(@.*)?"
+    pattern: '^mdio(-(bus|external))?(@.+|-([0-9]+))$'
 
   "#address-cells":
     const: 1