aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorPhilippe Reynes <tremyfr@gmail.com>2016-05-09 18:19:41 -0400
committerDavid S. Miller <davem@davemloft.net>2016-05-10 15:06:19 -0400
commit9d9a77cee1ab53dc6419b1ab9da88c4e9342d26a (patch)
treee9f29fd7fc1c0837c79cc1704a157e77a59863a3 /drivers/net/phy
parent7a27de7810aee8d839e4a70d86ab450af60f72e5 (diff)
net: phy: add phy_ethtool_{get|set}_link_ksettings
Ethtool callbacks {get|set}_link_ksettings are often the same, so we add two generics functions phy_ethtool_{get|set}_link_ksettings to avoid writing severals times the same function. Signed-off-by: Philippe Reynes <tremyfr@gmail.com> Acked-By: David Decotigny <decot@googlers.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r--drivers/net/phy/phy.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 6f221c8c2a7f..603e8db50162 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -1347,3 +1347,27 @@ void phy_ethtool_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol)
1347 phydev->drv->get_wol(phydev, wol); 1347 phydev->drv->get_wol(phydev, wol);
1348} 1348}
1349EXPORT_SYMBOL(phy_ethtool_get_wol); 1349EXPORT_SYMBOL(phy_ethtool_get_wol);
1350
1351int phy_ethtool_get_link_ksettings(struct net_device *ndev,
1352 struct ethtool_link_ksettings *cmd)
1353{
1354 struct phy_device *phydev = ndev->phydev;
1355
1356 if (!phydev)
1357 return -ENODEV;
1358
1359 return phy_ethtool_ksettings_get(phydev, cmd);
1360}
1361EXPORT_SYMBOL(phy_ethtool_get_link_ksettings);
1362
1363int phy_ethtool_set_link_ksettings(struct net_device *ndev,
1364 const struct ethtool_link_ksettings *cmd)
1365{
1366 struct phy_device *phydev = ndev->phydev;
1367
1368 if (!phydev)
1369 return -ENODEV;
1370
1371 return phy_ethtool_ksettings_set(phydev, cmd);
1372}
1373EXPORT_SYMBOL(phy_ethtool_set_link_ksettings);