Commit f08aff44 authored by Philippe Reynes's avatar Philippe Reynes Committed by David S. Miller

net: ethernet: renesas: sh_eth: use new api ethtool_{get|set}_link_ksettings

The ethtool api {get|set}_settings is deprecated.
We move this driver to new api {get|set}_link_ksettings.
Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
Tested-by: default avatarSimon Horman <horms+renesas@verge.net.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9fd0375a
...@@ -1817,8 +1817,8 @@ static int sh_eth_phy_start(struct net_device *ndev) ...@@ -1817,8 +1817,8 @@ static int sh_eth_phy_start(struct net_device *ndev)
return 0; return 0;
} }
static int sh_eth_get_settings(struct net_device *ndev, static int sh_eth_get_link_ksettings(struct net_device *ndev,
struct ethtool_cmd *ecmd) struct ethtool_link_ksettings *cmd)
{ {
struct sh_eth_private *mdp = netdev_priv(ndev); struct sh_eth_private *mdp = netdev_priv(ndev);
unsigned long flags; unsigned long flags;
...@@ -1828,14 +1828,14 @@ static int sh_eth_get_settings(struct net_device *ndev, ...@@ -1828,14 +1828,14 @@ static int sh_eth_get_settings(struct net_device *ndev,
return -ENODEV; return -ENODEV;
spin_lock_irqsave(&mdp->lock, flags); spin_lock_irqsave(&mdp->lock, flags);
ret = phy_ethtool_gset(ndev->phydev, ecmd); ret = phy_ethtool_ksettings_get(ndev->phydev, cmd);
spin_unlock_irqrestore(&mdp->lock, flags); spin_unlock_irqrestore(&mdp->lock, flags);
return ret; return ret;
} }
static int sh_eth_set_settings(struct net_device *ndev, static int sh_eth_set_link_ksettings(struct net_device *ndev,
struct ethtool_cmd *ecmd) const struct ethtool_link_ksettings *cmd)
{ {
struct sh_eth_private *mdp = netdev_priv(ndev); struct sh_eth_private *mdp = netdev_priv(ndev);
unsigned long flags; unsigned long flags;
...@@ -1849,11 +1849,11 @@ static int sh_eth_set_settings(struct net_device *ndev, ...@@ -1849,11 +1849,11 @@ static int sh_eth_set_settings(struct net_device *ndev,
/* disable tx and rx */ /* disable tx and rx */
sh_eth_rcv_snd_disable(ndev); sh_eth_rcv_snd_disable(ndev);
ret = phy_ethtool_sset(ndev->phydev, ecmd); ret = phy_ethtool_ksettings_set(ndev->phydev, cmd);
if (ret) if (ret)
goto error_exit; goto error_exit;
if (ecmd->duplex == DUPLEX_FULL) if (cmd->base.duplex == DUPLEX_FULL)
mdp->duplex = 1; mdp->duplex = 1;
else else
mdp->duplex = 0; mdp->duplex = 0;
...@@ -2195,8 +2195,6 @@ static int sh_eth_set_ringparam(struct net_device *ndev, ...@@ -2195,8 +2195,6 @@ static int sh_eth_set_ringparam(struct net_device *ndev,
} }
static const struct ethtool_ops sh_eth_ethtool_ops = { static const struct ethtool_ops sh_eth_ethtool_ops = {
.get_settings = sh_eth_get_settings,
.set_settings = sh_eth_set_settings,
.get_regs_len = sh_eth_get_regs_len, .get_regs_len = sh_eth_get_regs_len,
.get_regs = sh_eth_get_regs, .get_regs = sh_eth_get_regs,
.nway_reset = sh_eth_nway_reset, .nway_reset = sh_eth_nway_reset,
...@@ -2208,6 +2206,8 @@ static const struct ethtool_ops sh_eth_ethtool_ops = { ...@@ -2208,6 +2206,8 @@ static const struct ethtool_ops sh_eth_ethtool_ops = {
.get_sset_count = sh_eth_get_sset_count, .get_sset_count = sh_eth_get_sset_count,
.get_ringparam = sh_eth_get_ringparam, .get_ringparam = sh_eth_get_ringparam,
.set_ringparam = sh_eth_set_ringparam, .set_ringparam = sh_eth_set_ringparam,
.get_link_ksettings = sh_eth_get_link_ksettings,
.set_link_ksettings = sh_eth_set_link_ksettings,
}; };
/* network device open function */ /* network device open function */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment