net: usb: r8152: use new api ethtool_{get|set}_link_ksettings
authorPhilippe Reynes <tremyfr@gmail.com>
Sun, 12 Mar 2017 21:41:58 +0000 (22:41 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Mar 2017 22:25:54 +0000 (15:25 -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>
Acked-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/r8152.c

index 986243c932ccd6fe19c592805c1c63274f5e5555..227e1fdd9228f5dd7c0235e58ba76b32bcabddf3 100644 (file)
@@ -3800,7 +3800,8 @@ static void rtl8152_get_drvinfo(struct net_device *netdev,
 }
 
 static
-int rtl8152_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd)
+int rtl8152_get_link_ksettings(struct net_device *netdev,
+                              struct ethtool_link_ksettings *cmd)
 {
        struct r8152 *tp = netdev_priv(netdev);
        int ret;
@@ -3814,7 +3815,7 @@ int rtl8152_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd)
 
        mutex_lock(&tp->control);
 
-       ret = mii_ethtool_gset(&tp->mii, cmd);
+       ret = mii_ethtool_get_link_ksettings(&tp->mii, cmd);
 
        mutex_unlock(&tp->control);
 
@@ -3824,7 +3825,8 @@ out:
        return ret;
 }
 
-static int rtl8152_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
+static int rtl8152_set_link_ksettings(struct net_device *dev,
+                                     const struct ethtool_link_ksettings *cmd)
 {
        struct r8152 *tp = netdev_priv(dev);
        int ret;
@@ -3835,11 +3837,12 @@ static int rtl8152_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
 
        mutex_lock(&tp->control);
 
-       ret = rtl8152_set_speed(tp, cmd->autoneg, cmd->speed, cmd->duplex);
+       ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed,
+                               cmd->base.duplex);
        if (!ret) {
-               tp->autoneg = cmd->autoneg;
-               tp->speed = cmd->speed;
-               tp->duplex = cmd->duplex;
+               tp->autoneg = cmd->base.autoneg;
+               tp->speed = cmd->base.speed;
+               tp->duplex = cmd->base.duplex;
        }
 
        mutex_unlock(&tp->control);
@@ -4117,8 +4120,6 @@ static int rtl8152_set_coalesce(struct net_device *netdev,
 
 static const struct ethtool_ops ops = {
        .get_drvinfo = rtl8152_get_drvinfo,
-       .get_settings = rtl8152_get_settings,
-       .set_settings = rtl8152_set_settings,
        .get_link = ethtool_op_get_link,
        .nway_reset = rtl8152_nway_reset,
        .get_msglevel = rtl8152_get_msglevel,
@@ -4132,6 +4133,8 @@ static const struct ethtool_ops ops = {
        .set_coalesce = rtl8152_set_coalesce,
        .get_eee = rtl_ethtool_get_eee,
        .set_eee = rtl_ethtool_set_eee,
+       .get_link_ksettings = rtl8152_get_link_ksettings,
+       .set_link_ksettings = rtl8152_set_link_ksettings,
 };
 
 static int rtl8152_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)