]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
net: via: via-rhine: use new api ethtool_{get|set}_link_ksettings
authorPhilippe Reynes <tremyfr@gmail.com>
Tue, 7 Mar 2017 22:46:16 +0000 (23:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Mar 2017 02:28:07 +0000 (19:28 -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/ethernet/via/via-rhine.c

index c068c58428f7611ddcd526010cb07f8ada61b760..4cf41f779d0ef4ef8d6cf2fa688abd97b3e8264d 100644 (file)
@@ -2303,25 +2303,27 @@ static void netdev_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *i
        strlcpy(info->bus_info, dev_name(hwdev), sizeof(info->bus_info));
 }
 
-static int netdev_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
+static int netdev_get_link_ksettings(struct net_device *dev,
+                                    struct ethtool_link_ksettings *cmd)
 {
        struct rhine_private *rp = netdev_priv(dev);
        int rc;
 
        mutex_lock(&rp->task_lock);
-       rc = mii_ethtool_gset(&rp->mii_if, cmd);
+       rc = mii_ethtool_get_link_ksettings(&rp->mii_if, cmd);
        mutex_unlock(&rp->task_lock);
 
        return rc;
 }
 
-static int netdev_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
+static int netdev_set_link_ksettings(struct net_device *dev,
+                                    const struct ethtool_link_ksettings *cmd)
 {
        struct rhine_private *rp = netdev_priv(dev);
        int rc;
 
        mutex_lock(&rp->task_lock);
-       rc = mii_ethtool_sset(&rp->mii_if, cmd);
+       rc = mii_ethtool_set_link_ksettings(&rp->mii_if, cmd);
        rhine_set_carrier(&rp->mii_if);
        mutex_unlock(&rp->task_lock);
 
@@ -2391,14 +2393,14 @@ static int rhine_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
 
 static const struct ethtool_ops netdev_ethtool_ops = {
        .get_drvinfo            = netdev_get_drvinfo,
-       .get_settings           = netdev_get_settings,
-       .set_settings           = netdev_set_settings,
        .nway_reset             = netdev_nway_reset,
        .get_link               = netdev_get_link,
        .get_msglevel           = netdev_get_msglevel,
        .set_msglevel           = netdev_set_msglevel,
        .get_wol                = rhine_get_wol,
        .set_wol                = rhine_set_wol,
+       .get_link_ksettings     = netdev_get_link_ksettings,
+       .set_link_ksettings     = netdev_set_link_ksettings,
 };
 
 static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)