net: usb: smsc95xx: use new api ethtool_{get|set}_link_ksettings
authorPhilippe Reynes <tremyfr@gmail.com>
Thu, 16 Mar 2017 22:18:48 +0000 (23:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Mar 2017 23:03:59 +0000 (16:03 -0700)
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>
drivers/net/usb/smsc95xx.c

index 831aa33d078ae7d2dd57fdded5de71d1eb915f99..4a8bf960cbb9082c18998c64e328f5ecfb980e9f 100644 (file)
@@ -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)