[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20240815152841.GA1903517-robh@kernel.org>
Date: Thu, 15 Aug 2024 09:28:41 -0600
From: Rob Herring <robh@...nel.org>
To: Frank Li <Frank.Li@....com>
Cc: Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Florian Fainelli <f.fainelli@...il.com>,
"open list:ETHERNET PHY LIBRARY" <netdev@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>, imx@...ts.linux.dev
Subject: Re: [PATCH v3 1/1] dt-bindings: net: mdio: change nodename match
pattern
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@....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
>
Powered by blists - more mailing lists