struct napi_struct napi;
 
        struct mii_bus *mii_bus;
-       struct phy_device *phydev;
        int old_speed;
 };
 
 static void ftgmac100_adjust_link(struct net_device *netdev)
 {
        struct ftgmac100 *priv = netdev_priv(netdev);
-       struct phy_device *phydev = priv->phydev;
+       struct phy_device *phydev = netdev->phydev;
        int ier;
 
        if (phydev->speed == priv->old_speed)
                return PTR_ERR(phydev);
        }
 
-       priv->phydev = phydev;
        return 0;
 }
 
 static int ftgmac100_get_settings(struct net_device *netdev,
                                  struct ethtool_cmd *cmd)
 {
-       struct ftgmac100 *priv = netdev_priv(netdev);
-
-       return phy_ethtool_gset(priv->phydev, cmd);
+       return phy_ethtool_gset(netdev->phydev, cmd);
 }
 
 static int ftgmac100_set_settings(struct net_device *netdev,
                                  struct ethtool_cmd *cmd)
 {
-       struct ftgmac100 *priv = netdev_priv(netdev);
-
-       return phy_ethtool_sset(priv->phydev, cmd);
+       return phy_ethtool_sset(netdev->phydev, cmd);
 }
 
 static const struct ethtool_ops ftgmac100_ethtool_ops = {
        ftgmac100_init_hw(priv);
        ftgmac100_start_hw(priv, 10);
 
-       phy_start(priv->phydev);
+       phy_start(netdev->phydev);
 
        napi_enable(&priv->napi);
        netif_start_queue(netdev);
 
        netif_stop_queue(netdev);
        napi_disable(&priv->napi);
-       phy_stop(priv->phydev);
+       phy_stop(netdev->phydev);
 
        ftgmac100_stop_hw(priv);
        free_irq(priv->irq, netdev);
 /* optional */
 static int ftgmac100_do_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
 {
-       struct ftgmac100 *priv = netdev_priv(netdev);
-
-       return phy_mii_ioctl(priv->phydev, ifr, cmd);
+       return phy_mii_ioctl(netdev->phydev, ifr, cmd);
 }
 
 static const struct net_device_ops ftgmac100_netdev_ops = {
        return 0;
 
 err_register_netdev:
-       phy_disconnect(priv->phydev);
+       phy_disconnect(netdev->phydev);
 err_mii_probe:
        mdiobus_unregister(priv->mii_bus);
 err_register_mdiobus:
 
        unregister_netdev(netdev);
 
-       phy_disconnect(priv->phydev);
+       phy_disconnect(netdev->phydev);
        mdiobus_unregister(priv->mii_bus);
        mdiobus_free(priv->mii_bus);