summaryrefslogtreecommitdiffstats
path: root/drivers/net/pasemi_mac_ethtool.c
diff options
context:
space:
mode:
authorValentine Barshak <vbarshak@ru.mvista.com>2009-10-12 13:25:05 +0200
committerDavid S. Miller <davem@davemloft.net>2009-10-12 22:26:39 +0200
commit5402240c0bc621ef6865c80043bda30a29365948 (patch)
tree4c450c64a194b7c50f50a88eddabb3df595823de /drivers/net/pasemi_mac_ethtool.c
parentbe2net: Implement ethtool get_phys_id function. (diff)
downloadlinux-5402240c0bc621ef6865c80043bda30a29365948.tar.xz
linux-5402240c0bc621ef6865c80043bda30a29365948.zip
pasemi_mac: ethtool set settings support
Add ethtool set settings to pasemi_mac_ethtool. Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/pasemi_mac_ethtool.c')
-rw-r--r--drivers/net/pasemi_mac_ethtool.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/pasemi_mac_ethtool.c b/drivers/net/pasemi_mac_ethtool.c
index 28a86224879d..fefa79e34b95 100644
--- a/drivers/net/pasemi_mac_ethtool.c
+++ b/drivers/net/pasemi_mac_ethtool.c
@@ -77,6 +77,19 @@ pasemi_mac_ethtool_get_settings(struct net_device *netdev,
return phy_ethtool_gset(phydev, cmd);
}
+static int
+pasemi_mac_ethtool_set_settings(struct net_device *netdev,
+ struct ethtool_cmd *cmd)
+{
+ struct pasemi_mac *mac = netdev_priv(netdev);
+ struct phy_device *phydev = mac->phydev;
+
+ if (!phydev)
+ return -EOPNOTSUPP;
+
+ return phy_ethtool_sset(phydev, cmd);
+}
+
static void
pasemi_mac_ethtool_get_drvinfo(struct net_device *netdev,
struct ethtool_drvinfo *drvinfo)
@@ -150,6 +163,7 @@ static void pasemi_mac_get_strings(struct net_device *netdev, u32 stringset,
const struct ethtool_ops pasemi_mac_ethtool_ops = {
.get_settings = pasemi_mac_ethtool_get_settings,
+ .set_settings = pasemi_mac_ethtool_set_settings,
.get_drvinfo = pasemi_mac_ethtool_get_drvinfo,
.get_msglevel = pasemi_mac_ethtool_get_msglevel,
.set_msglevel = pasemi_mac_ethtool_set_msglevel,