summaryrefslogtreecommitdiff
path: root/drivers/net/dsa/qca8k.c
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>2017-08-01 16:32:38 -0400
committerDavid S. Miller <davem@davemloft.net>2017-08-01 20:09:10 -0700
commitc48f7eb3021c993cfb15ee4963df2fd6683c2f0d (patch)
treead6033802a725c8e21bc774f5570aea6fb6b9e6e /drivers/net/dsa/qca8k.c
parent7f5c6d7cdda7b67b11659cb5d2cfbaf5210d2fa8 (diff)
net: dsa: call phy_init_eee in DSA layer
All DSA drivers are calling phy_init_eee if eee_enabled is true. Move up this statement in the DSA layer to simplify the DSA drivers. qca8k does not require to cache the ethtool_eee structures from now on. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/qca8k.c')
-rw-r--r--drivers/net/dsa/qca8k.c31
1 files changed, 2 insertions, 29 deletions
diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index 8cd4634c6985..bfe0172ae6cc 100644
--- a/drivers/net/dsa/qca8k.c
+++ b/drivers/net/dsa/qca8k.c
@@ -655,40 +655,13 @@ qca8k_eee_enable_set(struct dsa_switch *ds, int port, bool enable)
}
static int
-qca8k_eee_init(struct dsa_switch *ds, int port,
- struct phy_device *phy)
-{
- int ret;
-
- ret = phy_init_eee(phy, 0);
- if (ret)
- return 0;
-
- qca8k_eee_enable_set(ds, port, true);
-
- return 1;
-}
-
-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 (!p->eee_enabled) {
- qca8k_eee_enable_set(ds, port, false);
- } else {
- p->eee_enabled = qca8k_eee_init(ds, port, phydev);
- if (!p->eee_enabled)
- ret = -EOPNOTSUPP;
- }
-
- return ret;
+ return 0;
}
static int