sh_eth: Use the platform device as the MDIO bus parent
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 20 Mar 2014 14:00:32 +0000 (15:00 +0100)
committerStephane Desneux <stephane.desneux@open.eurogiciel.org>
Wed, 4 Feb 2015 10:13:17 +0000 (11:13 +0100)
The MDIO bus parent is set to the network device. Beside not reflecting
the hardware topology, this prevents registering the MDIO bus before
initializing the network device. Fix it by setting the MDIO bus parent
to the platform device.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit a5bd60608936fbb84471a80592401ce29a68de71)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/net/ethernet/renesas/sh_eth.c

index 361ac10..088d8c3 100644 (file)
@@ -2647,7 +2647,7 @@ static int sh_mdio_init(struct net_device *ndev, int id,
 
        /* Hook up MII support for ethtool */
        mdp->mii_bus->name = "sh_mii";
-       mdp->mii_bus->parent = &ndev->dev;
+       mdp->mii_bus->parent = dev;
        snprintf(mdp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
                 mdp->pdev->name, id);