Commit 3237fc63 authored by David Decotigny's avatar David Decotigny Committed by David S. Miller

net: ethtool: remove unused __ethtool_get_settings

replaced by __ethtool_get_link_ksettings.
Signed-off-by: default avatarDavid Decotigny <decot@googlers.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7cad1bac
...@@ -150,10 +150,6 @@ extern int ...@@ -150,10 +150,6 @@ extern int
__ethtool_get_link_ksettings(struct net_device *dev, __ethtool_get_link_ksettings(struct net_device *dev,
struct ethtool_link_ksettings *link_ksettings); struct ethtool_link_ksettings *link_ksettings);
/* DEPRECATED, use __ethtool_get_link_ksettings */
extern int __ethtool_get_settings(struct net_device *dev,
struct ethtool_cmd *cmd);
/** /**
* struct ethtool_ops - optional netdev operations * struct ethtool_ops - optional netdev operations
* @get_settings: DEPRECATED, use %get_link_ksettings/%set_link_ksettings * @get_settings: DEPRECATED, use %get_link_ksettings/%set_link_ksettings
......
...@@ -551,7 +551,12 @@ int __ethtool_get_link_ksettings(struct net_device *dev, ...@@ -551,7 +551,12 @@ int __ethtool_get_link_ksettings(struct net_device *dev,
* legacy %ethtool_cmd API, unless it's not supported either. * legacy %ethtool_cmd API, unless it's not supported either.
* TODO: remove when ethtool_ops::get_settings disappears internally * TODO: remove when ethtool_ops::get_settings disappears internally
*/ */
err = __ethtool_get_settings(dev, &cmd); if (!dev->ethtool_ops->get_settings)
return -EOPNOTSUPP;
memset(&cmd, 0, sizeof(cmd));
cmd.cmd = ETHTOOL_GSET;
err = dev->ethtool_ops->get_settings(dev, &cmd);
if (err < 0) if (err < 0)
return err; return err;
...@@ -729,30 +734,6 @@ static int ethtool_set_link_ksettings(struct net_device *dev, ...@@ -729,30 +734,6 @@ static int ethtool_set_link_ksettings(struct net_device *dev,
return dev->ethtool_ops->set_link_ksettings(dev, &link_ksettings); return dev->ethtool_ops->set_link_ksettings(dev, &link_ksettings);
} }
/* Internal kernel helper to query a device ethtool_cmd settings.
*
* Note about transition to ethtool_link_settings API: We do not need
* (or want) this function to support "dev" instances that implement
* the ethtool_link_settings API as we will update the drivers calling
* this function to call __ethtool_get_link_ksettings instead, before
* the first drivers implement ethtool_ops::get_link_ksettings.
*
* TODO 1: at least make this function static when no driver is using it
* TODO 2: remove when ethtool_ops::get_settings disappears internally
*/
int __ethtool_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
ASSERT_RTNL();
if (!dev->ethtool_ops->get_settings)
return -EOPNOTSUPP;
memset(cmd, 0, sizeof(struct ethtool_cmd));
cmd->cmd = ETHTOOL_GSET;
return dev->ethtool_ops->get_settings(dev, cmd);
}
EXPORT_SYMBOL(__ethtool_get_settings);
static void static void
warn_incomplete_ethtool_legacy_settings_conversion(const char *details) warn_incomplete_ethtool_legacy_settings_conversion(const char *details)
{ {
...@@ -796,16 +777,18 @@ static int ethtool_get_settings(struct net_device *dev, void __user *useraddr) ...@@ -796,16 +777,18 @@ static int ethtool_get_settings(struct net_device *dev, void __user *useraddr)
/* send a sensible cmd tag back to user */ /* send a sensible cmd tag back to user */
cmd.cmd = ETHTOOL_GSET; cmd.cmd = ETHTOOL_GSET;
} else { } else {
int err;
/* TODO: return -EOPNOTSUPP when
* ethtool_ops::get_settings disappears internally
*/
/* driver doesn't support %ethtool_link_ksettings /* driver doesn't support %ethtool_link_ksettings
* API. revert to legacy %ethtool_cmd API, unless it's * API. revert to legacy %ethtool_cmd API, unless it's
* not supported either. * not supported either.
*/ */
err = __ethtool_get_settings(dev, &cmd); int err;
if (!dev->ethtool_ops->get_settings)
return -EOPNOTSUPP;
memset(&cmd, 0, sizeof(cmd));
cmd.cmd = ETHTOOL_GSET;
err = dev->ethtool_ops->get_settings(dev, &cmd);
if (err < 0) if (err < 0)
return err; return err;
} }
......
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