diff options
Diffstat (limited to 'drivers/net/pasemi_mac_ethtool.c')
| -rw-r--r-- | drivers/net/pasemi_mac_ethtool.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/pasemi_mac_ethtool.c b/drivers/net/pasemi_mac_ethtool.c index 28a86224879..fefa79e34b9 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,  |