switch (7530) needs to to be linked to mdio-bus

based on
https://github.com/openwrt/openwrt/blob/master/target/linux/mediatek/patches-4.14/0045-net-dsa-mediatek-turn-into-platform-driver.patch

Signed-off-by: Frank Wunderlich <fran...@public-files.de>
---
 drivers/net/dsa/mt7530.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
index 83669f53cb36..e529bc334459 100644
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -1345,7 +1345,7 @@ static int
 mt7530_probe(struct mdio_device *mdiodev)
 {
        struct mt7530_priv *priv;
-       struct device_node *dn;
+       struct device_node *dn, *mdio;
 
        dn = mdiodev->dev.of_node;
 
@@ -1392,8 +1392,14 @@ mt7530_probe(struct mdio_device *mdiodev)
                        return PTR_ERR(priv->reset);
                }
        }
+       mdio = of_get_parent(dn);
+       if (!mdio)
+               return -EINVAL;
+
+       priv->bus = of_mdio_find_bus(mdio);
+       if (!priv->bus)
+               return -EPROBE_DEFER;
 
-       priv->bus = mdiodev->bus;
        priv->dev = &mdiodev->dev;
        priv->ds->priv = priv;
        priv->ds->ops = &mt7530_switch_ops;
-- 
2.17.1

Reply via email to