dt-bindings: net: mdio: change nodename match pattern
authorFrank Li <Frank.Li@nxp.com>
Thu, 15 Aug 2024 16:34:07 +0000 (12:34 -0400)
committerJakub Kicinski <kuba@kernel.org>
Fri, 16 Aug 2024 21:28:53 +0000 (14:28 -0700)
commit02404bdb811dbea6ab523675ec98d9f815cfb3b2
tree0921d3e964ce874c7e597d39d6042270792437e4
parent2dce239099d2e18aef7f36a5da43c4c33712d773
dt-bindings: net: mdio: change nodename match pattern

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 exista.

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.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20240815163408.4184705-1-Frank.Li@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/devicetree/bindings/net/mdio.yaml