Loading include/linux/ethtool.h +0 −4 Original line number Diff line number Diff line Loading @@ -150,10 +150,6 @@ extern int __ethtool_get_link_ksettings(struct net_device *dev, 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 * @get_settings: DEPRECATED, use %get_link_ksettings/%set_link_ksettings Loading net/core/ethtool.c +14 −31 Original line number Diff line number Diff line Loading @@ -551,7 +551,12 @@ int __ethtool_get_link_ksettings(struct net_device *dev, * legacy %ethtool_cmd API, unless it's not supported either. * 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) return err; Loading Loading @@ -729,30 +734,6 @@ static int ethtool_set_link_ksettings(struct net_device *dev, 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 warn_incomplete_ethtool_legacy_settings_conversion(const char *details) { Loading Loading @@ -796,16 +777,18 @@ static int ethtool_get_settings(struct net_device *dev, void __user *useraddr) /* send a sensible cmd tag back to user */ cmd.cmd = ETHTOOL_GSET; } else { int err; /* TODO: return -EOPNOTSUPP when * ethtool_ops::get_settings disappears internally */ /* driver doesn't support %ethtool_link_ksettings * API. revert to legacy %ethtool_cmd API, unless it's * 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) return err; } Loading Loading
include/linux/ethtool.h +0 −4 Original line number Diff line number Diff line Loading @@ -150,10 +150,6 @@ extern int __ethtool_get_link_ksettings(struct net_device *dev, 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 * @get_settings: DEPRECATED, use %get_link_ksettings/%set_link_ksettings Loading
net/core/ethtool.c +14 −31 Original line number Diff line number Diff line Loading @@ -551,7 +551,12 @@ int __ethtool_get_link_ksettings(struct net_device *dev, * legacy %ethtool_cmd API, unless it's not supported either. * 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) return err; Loading Loading @@ -729,30 +734,6 @@ static int ethtool_set_link_ksettings(struct net_device *dev, 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 warn_incomplete_ethtool_legacy_settings_conversion(const char *details) { Loading Loading @@ -796,16 +777,18 @@ static int ethtool_get_settings(struct net_device *dev, void __user *useraddr) /* send a sensible cmd tag back to user */ cmd.cmd = ETHTOOL_GSET; } else { int err; /* TODO: return -EOPNOTSUPP when * ethtool_ops::get_settings disappears internally */ /* driver doesn't support %ethtool_link_ksettings * API. revert to legacy %ethtool_cmd API, unless it's * 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) return err; } Loading