Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus
[linux-2.6-microblaze.git] / drivers / net / ethernet / lantiq_etop.c
index dc82b1b..91e09d6 100644 (file)
@@ -102,7 +102,6 @@ struct ltq_etop_priv {
        struct resource *res;
 
        struct mii_bus *mii_bus;
-       struct phy_device *phydev;
 
        struct ltq_etop_chan ch[MAX_DMA_CHAN];
        int tx_free[MAX_DMA_CHAN >> 1];
@@ -304,35 +303,17 @@ ltq_etop_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
        strlcpy(info->version, DRV_VERSION, sizeof(info->version));
 }
 
-static int
-ltq_etop_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
-{
-       struct ltq_etop_priv *priv = netdev_priv(dev);
-
-       return phy_ethtool_gset(priv->phydev, cmd);
-}
-
-static int
-ltq_etop_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
-{
-       struct ltq_etop_priv *priv = netdev_priv(dev);
-
-       return phy_ethtool_sset(priv->phydev, cmd);
-}
-
 static int
 ltq_etop_nway_reset(struct net_device *dev)
 {
-       struct ltq_etop_priv *priv = netdev_priv(dev);
-
-       return phy_start_aneg(priv->phydev);
+       return phy_start_aneg(dev->phydev);
 }
 
 static const struct ethtool_ops ltq_etop_ethtool_ops = {
        .get_drvinfo = ltq_etop_get_drvinfo,
-       .get_settings = ltq_etop_get_settings,
-       .set_settings = ltq_etop_set_settings,
        .nway_reset = ltq_etop_nway_reset,
+       .get_link_ksettings = phy_ethtool_get_link_ksettings,
+       .set_link_ksettings = phy_ethtool_set_link_ksettings,
 };
 
 static int
@@ -401,7 +382,6 @@ ltq_etop_mdio_probe(struct net_device *dev)
                              | SUPPORTED_TP);
 
        phydev->advertising = phydev->supported;
-       priv->phydev = phydev;
        phy_attached_info(phydev);
 
        return 0;
@@ -411,7 +391,6 @@ static int
 ltq_etop_mdio_init(struct net_device *dev)
 {
        struct ltq_etop_priv *priv = netdev_priv(dev);
-       int i;
        int err;
 
        priv->mii_bus = mdiobus_alloc();
@@ -451,7 +430,7 @@ ltq_etop_mdio_cleanup(struct net_device *dev)
 {
        struct ltq_etop_priv *priv = netdev_priv(dev);
 
-       phy_disconnect(priv->phydev);
+       phy_disconnect(dev->phydev);
        mdiobus_unregister(priv->mii_bus);
        mdiobus_free(priv->mii_bus);
 }
@@ -470,7 +449,7 @@ ltq_etop_open(struct net_device *dev)
                ltq_dma_open(&ch->dma);
                napi_enable(&ch->napi);
        }
-       phy_start(priv->phydev);
+       phy_start(dev->phydev);
        netif_tx_start_all_queues(dev);
        return 0;
 }
@@ -482,7 +461,7 @@ ltq_etop_stop(struct net_device *dev)
        int i;
 
        netif_tx_stop_all_queues(dev);
-       phy_stop(priv->phydev);
+       phy_stop(dev->phydev);
        for (i = 0; i < MAX_DMA_CHAN; i++) {
                struct ltq_etop_chan *ch = &priv->ch[i];
 
@@ -557,10 +536,8 @@ ltq_etop_change_mtu(struct net_device *dev, int new_mtu)
 static int
 ltq_etop_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
 {
-       struct ltq_etop_priv *priv = netdev_priv(dev);
-
        /* TODO: mii-toll reports "No MII transceiver present!." ?!*/
-       return phy_mii_ioctl(priv->phydev, rq, cmd);
+       return phy_mii_ioctl(dev->phydev, rq, cmd);
 }
 
 static int