mirror of https://gitee.com/openkylin/linux.git
net: usb: smsc95xx: 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. As I don't have the hardware, I'd be very pleased if someone may test this patch. Signed-off-by: Philippe Reynes <tremyfr@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8bae3551e9
commit
eaf9a32a44
|
@ -853,32 +853,32 @@ static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl)
|
|||
pdata->mdix_ctrl = mdix_ctrl;
|
||||
}
|
||||
|
||||
static int smsc95xx_get_settings(struct net_device *net,
|
||||
struct ethtool_cmd *cmd)
|
||||
static int smsc95xx_get_link_ksettings(struct net_device *net,
|
||||
struct ethtool_link_ksettings *cmd)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
int retval;
|
||||
|
||||
retval = usbnet_get_settings(net, cmd);
|
||||
retval = usbnet_get_link_ksettings(net, cmd);
|
||||
|
||||
cmd->eth_tp_mdix = pdata->mdix_ctrl;
|
||||
cmd->eth_tp_mdix_ctrl = pdata->mdix_ctrl;
|
||||
cmd->base.eth_tp_mdix = pdata->mdix_ctrl;
|
||||
cmd->base.eth_tp_mdix_ctrl = pdata->mdix_ctrl;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
static int smsc95xx_set_settings(struct net_device *net,
|
||||
struct ethtool_cmd *cmd)
|
||||
static int smsc95xx_set_link_ksettings(struct net_device *net,
|
||||
const struct ethtool_link_ksettings *cmd)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
int retval;
|
||||
|
||||
if (pdata->mdix_ctrl != cmd->eth_tp_mdix_ctrl)
|
||||
set_mdix_status(net, cmd->eth_tp_mdix_ctrl);
|
||||
if (pdata->mdix_ctrl != cmd->base.eth_tp_mdix_ctrl)
|
||||
set_mdix_status(net, cmd->base.eth_tp_mdix_ctrl);
|
||||
|
||||
retval = usbnet_set_settings(net, cmd);
|
||||
retval = usbnet_set_link_ksettings(net, cmd);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -889,8 +889,6 @@ static const struct ethtool_ops smsc95xx_ethtool_ops = {
|
|||
.get_drvinfo = usbnet_get_drvinfo,
|
||||
.get_msglevel = usbnet_get_msglevel,
|
||||
.set_msglevel = usbnet_set_msglevel,
|
||||
.get_settings = smsc95xx_get_settings,
|
||||
.set_settings = smsc95xx_set_settings,
|
||||
.get_eeprom_len = smsc95xx_ethtool_get_eeprom_len,
|
||||
.get_eeprom = smsc95xx_ethtool_get_eeprom,
|
||||
.set_eeprom = smsc95xx_ethtool_set_eeprom,
|
||||
|
@ -898,6 +896,8 @@ static const struct ethtool_ops smsc95xx_ethtool_ops = {
|
|||
.get_regs = smsc95xx_ethtool_getregs,
|
||||
.get_wol = smsc95xx_ethtool_get_wol,
|
||||
.set_wol = smsc95xx_ethtool_set_wol,
|
||||
.get_link_ksettings = smsc95xx_get_link_ksettings,
|
||||
.set_link_ksettings = smsc95xx_set_link_ksettings,
|
||||
};
|
||||
|
||||
static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
||||
|
|
Loading…
Reference in New Issue