From a2acdf9607045e5669c305c57dd7c77be8351ba0 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Fri, 11 Jun 2021 14:54:43 -0400 Subject: [PATCH] ramips: mt7620: remove useless GMAC nodes These nodes are used for configuring a GMAC interface and for defining external PHYs to be accessed with MDIO. None of this is possible on MT7620N, only MT7620A, so remove them from all MT7620N DTS. When the mdio-bus node is missing, the driver returns -NODEV which causes the internal switch to not initialize. Replace that return so that everything works without the DTS node. Also, an extra kernel message to indicate for all error conditions that mdio-bus is disabled. Fixes: d482356322c9 ("ramips: mt7620n: add mdio node and disable port4 by default") Fixes: aa5014dd1a58 ("ramips: mt7620n: enable port 4 as EPHY by default") Signed-off-by: Michael Pratt --- target/linux/ramips/dts/mt7620n.dtsi | 14 -------------- .../linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts | 6 ------ .../linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts | 6 ------ .../files/drivers/net/ethernet/ralink/mdio.c | 5 ++++- 4 files changed, 4 insertions(+), 27 deletions(-) diff --git a/target/linux/ramips/dts/mt7620n.dtsi b/target/linux/ramips/dts/mt7620n.dtsi index d225cb25d8..276bc13733 100644 --- a/target/linux/ramips/dts/mt7620n.dtsi +++ b/target/linux/ramips/dts/mt7620n.dtsi @@ -322,20 +322,6 @@ reset-names = "fe", "esw"; mediatek,switch = <&gsw>; - - mdio-bus { - #address-cells = <1>; - #size-cells = <0>; - - status = "disabled"; - }; - - port@4 { - compatible = "mediatek,mt7620a-gsw-port", "mediatek,eth-port"; - reg = <4>; - - status = "disabled"; - }; }; gsw: gsw@10110000 { diff --git a/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts b/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts index c784839c34..d37bdb4013 100644 --- a/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts +++ b/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts @@ -133,12 +133,6 @@ status = "okay"; }; -ðernet { - port@4 { - status = "okay"; - }; -}; - &state_default { default { groups = "spi refclk", "i2c", "ephy", "wled"; diff --git a/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts b/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts index 9400394d89..d3ca0dd53f 100644 --- a/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts +++ b/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts @@ -136,12 +136,6 @@ status = "okay"; }; -ðernet { - port@4 { - status = "okay"; - }; -}; - &state_default { default { groups = "spi refclk", "i2c", "ephy", "wled"; diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c index dceb08b835..b923b02af9 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c @@ -232,7 +232,8 @@ int fe_mdio_init(struct fe_priv *priv) mii_np = of_get_child_by_name(priv->dev->of_node, "mdio-bus"); if (!mii_np) { dev_err(priv->dev, "no %s child node found", "mdio-bus"); - return -ENODEV; + err = 0; + goto err_no_bus; } if (!of_device_is_available(mii_np)) { @@ -264,6 +265,8 @@ err_free_bus: kfree(priv->mii_bus); err_put_node: of_node_put(mii_np); +err_no_bus: + dev_err(priv->dev, "%s disabled", "mdio-bus"); priv->mii_bus = NULL; return err; } -- 2.30.2