]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/dsa/bcm_sf2.c
net: dsa: call phy_init_eee in DSA layer
[linux.git] / drivers / net / dsa / bcm_sf2.c
index 648f91b58d1e260a71de7db12dc39627bc40a35c..9d10aac8f241872d69bff88b4267c5e49b663993 100644 (file)
@@ -327,12 +327,8 @@ static void bcm_sf2_port_disable(struct dsa_switch *ds, int port,
 static int bcm_sf2_eee_init(struct dsa_switch *ds, int port,
                            struct phy_device *phy)
 {
-       struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
-       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 0;
@@ -364,14 +360,7 @@ static int bcm_sf2_sw_set_eee(struct dsa_switch *ds, int port,
        struct ethtool_eee *p = &priv->port_sts[port].eee;
 
        p->eee_enabled = e->eee_enabled;
-
-       if (!p->eee_enabled) {
-               bcm_sf2_eee_enable_set(ds, port, false);
-       } else {
-               p->eee_enabled = bcm_sf2_eee_init(ds, port, phydev);
-               if (!p->eee_enabled)
-                       return -EOPNOTSUPP;
-       }
+       bcm_sf2_eee_enable_set(ds, port, e->eee_enabled);
 
        return 0;
 }