]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/dsa/qca8k.c
net: dsa: call phy_init_eee in DSA layer
[linux.git] / drivers / net / dsa / qca8k.c
index b3bee7eab45fb47da33d57897a03928d14ff22f7..bfe0172ae6ccefe0d1cae27f3a78a73b105cc54d 100644 (file)
@@ -654,65 +654,22 @@ qca8k_eee_enable_set(struct dsa_switch *ds, int port, bool enable)
        mutex_unlock(&priv->reg_mutex);
 }
 
-static int
-qca8k_eee_init(struct dsa_switch *ds, int port,
-              struct phy_device *phy)
-{
-       struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
-       struct ethtool_eee *p = &priv->port_sts[port].eee;
-       int ret;
-
-       p->supported = (SUPPORTED_1000baseT_Full | SUPPORTED_100baseT_Full);
-
-       ret = phy_init_eee(phy, 0);
-       if (ret)
-               return ret;
-
-       qca8k_eee_enable_set(ds, port, true);
-
-       return 0;
-}
-
 static int
 qca8k_set_eee(struct dsa_switch *ds, int port,
              struct phy_device *phydev,
              struct ethtool_eee *e)
 {
-       struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
-       struct ethtool_eee *p = &priv->port_sts[port].eee;
-       int ret = 0;
+       qca8k_eee_enable_set(ds, port, e->eee_enabled);
 
-       p->eee_enabled = e->eee_enabled;
-
-       if (e->eee_enabled) {
-               p->eee_enabled = qca8k_eee_init(ds, port, phydev);
-               if (!p->eee_enabled)
-                       ret = -EOPNOTSUPP;
-       }
-       qca8k_eee_enable_set(ds, port, p->eee_enabled);
-
-       return ret;
+       return 0;
 }
 
 static int
 qca8k_get_eee(struct dsa_switch *ds, int port,
              struct ethtool_eee *e)
 {
-       struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
-       struct ethtool_eee *p = &priv->port_sts[port].eee;
-       struct net_device *netdev = ds->ports[port].netdev;
-       int ret;
-
-       ret = phy_ethtool_get_eee(netdev->phydev, p);
-       if (!ret)
-               e->eee_active =
-                       !!(p->supported & p->advertised & p->lp_advertised);
-       else
-               e->eee_active = 0;
-
-       e->eee_enabled = p->eee_enabled;
-
-       return ret;
+       /* Nothing to do on the port's MAC */
+       return 0;
 }
 
 static void