Use set/get drv data in phydev's mdio device instead. Phy device priv
field maybe used by the external phy driver and should not be
overwritten.
Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 
 static int xgmiitorgmii_read_status(struct phy_device *phydev)
 {
-       struct gmii2rgmii *priv = phydev->priv;
+       struct gmii2rgmii *priv = mdiodev_get_drvdata(&phydev->mdio);
        struct mii_bus *bus = priv->mdio->bus;
        int addr = priv->mdio->addr;
        u16 val = 0;
        memcpy(&priv->conv_phy_drv, priv->phy_dev->drv,
               sizeof(struct phy_driver));
        priv->conv_phy_drv.read_status = xgmiitorgmii_read_status;
-       priv->phy_dev->priv = priv;
+       mdiodev_set_drvdata(&priv->phy_dev->mdio, priv);
        priv->phy_dev->drv = &priv->conv_phy_drv;
 
        return 0;