net: dsa: mv88e6171: Add EEE support to the mv88e6172
authorAndrew Lunn <andrew@lunn.ch>
Fri, 27 Mar 2015 01:36:42 +0000 (18:36 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 29 Mar 2015 20:23:56 +0000 (13:23 -0700)
The mv88e6172 has support for EEE. Check for the product ID and call
the common code if applicable.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6171.c

index 54ebfed1b938849b197ca4a67c2e80ded63efc0e..e1700cd8badc50a127dc9a2e1addd1e3a2f740f2 100644 (file)
@@ -390,6 +390,28 @@ static int mv88e6171_get_sset_count(struct dsa_switch *ds)
        return ARRAY_SIZE(mv88e6171_hw_stats);
 }
 
+static int mv88e6171_get_eee(struct dsa_switch *ds, int port,
+                            struct ethtool_eee *e)
+{
+       struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
+
+       if (ps->id == ID_6172)
+               return mv88e6xxx_get_eee(ds, port, e);
+
+       return -EOPNOTSUPP;
+}
+
+static int mv88e6171_set_eee(struct dsa_switch *ds, int port,
+                            struct phy_device *phydev, struct ethtool_eee *e)
+{
+       struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
+
+       if (ps->id == ID_6172)
+               return mv88e6xxx_set_eee(ds, port, phydev, e);
+
+       return -EOPNOTSUPP;
+}
+
 struct dsa_switch_driver mv88e6171_switch_driver = {
        .tag_protocol           = DSA_TAG_PROTO_EDSA,
        .priv_size              = sizeof(struct mv88e6xxx_priv_state),
@@ -402,6 +424,8 @@ struct dsa_switch_driver mv88e6171_switch_driver = {
        .get_strings            = mv88e6171_get_strings,
        .get_ethtool_stats      = mv88e6171_get_ethtool_stats,
        .get_sset_count         = mv88e6171_get_sset_count,
+       .set_eee                = mv88e6171_set_eee,
+       .get_eee                = mv88e6171_get_eee,
 #ifdef CONFIG_NET_DSA_HWMON
        .get_temp               = mv88e6xxx_get_temp,
 #endif