net/mlx5: Add support for setting VF min rate
[sfrench/cifs-2.6.git] / drivers / net / ethernet / jme.c
index f9fcab54783c45b0ff49b3d3edc5077cf18401fa..f580b49e6b678a20e6679ba3d945ee5cc99f9975 100644 (file)
@@ -1879,7 +1879,7 @@ jme_open(struct net_device *netdev)
 
        jme_phy_on(jme);
        if (test_bit(JME_FLAG_SSET, &jme->flags))
-               jme_set_settings(netdev, &jme->old_ecmd);
+               jme_set_link_ksettings(netdev, &jme->old_cmd);
        else
                jme_reset_phy_processor(jme);
        jme_phy_calibration(jme);
@@ -2374,7 +2374,7 @@ jme_tx_timeout(struct net_device *netdev)
        jme->phylink = 0;
        jme_reset_phy_processor(jme);
        if (test_bit(JME_FLAG_SSET, &jme->flags))
-               jme_set_settings(netdev, &jme->old_ecmd);
+               jme_set_link_ksettings(netdev, &jme->old_cmd);
 
        /*
         * Force to Reset the link again
@@ -2648,27 +2648,27 @@ jme_set_wol(struct net_device *netdev,
 }
 
 static int
-jme_get_settings(struct net_device *netdev,
-                    struct ethtool_cmd *ecmd)
+jme_get_link_ksettings(struct net_device *netdev,
+                      struct ethtool_link_ksettings *cmd)
 {
        struct jme_adapter *jme = netdev_priv(netdev);
        int rc;
 
        spin_lock_bh(&jme->phy_lock);
-       rc = mii_ethtool_gset(&(jme->mii_if), ecmd);
+       rc = mii_ethtool_get_link_ksettings(&jme->mii_if, cmd);
        spin_unlock_bh(&jme->phy_lock);
        return rc;
 }
 
 static int
-jme_set_settings(struct net_device *netdev,
-                    struct ethtool_cmd *ecmd)
+jme_set_link_ksettings(struct net_device *netdev,
+                      const struct ethtool_link_ksettings *cmd)
 {
        struct jme_adapter *jme = netdev_priv(netdev);
        int rc, fdc = 0;
 
-       if (ethtool_cmd_speed(ecmd) == SPEED_1000
-           && ecmd->autoneg != AUTONEG_ENABLE)
+       if (cmd->base.speed == SPEED_1000 &&
+           cmd->base.autoneg != AUTONEG_ENABLE)
                return -EINVAL;
 
        /*
@@ -2676,18 +2676,18 @@ jme_set_settings(struct net_device *netdev,
         * Hardware would not generate link change interrupt.
         */
        if (jme->mii_if.force_media &&
-       ecmd->autoneg != AUTONEG_ENABLE &&
-       (jme->mii_if.full_duplex != ecmd->duplex))
+           cmd->base.autoneg != AUTONEG_ENABLE &&
+           (jme->mii_if.full_duplex != cmd->base.duplex))
                fdc = 1;
 
        spin_lock_bh(&jme->phy_lock);
-       rc = mii_ethtool_sset(&(jme->mii_if), ecmd);
+       rc = mii_ethtool_set_link_ksettings(&jme->mii_if, cmd);
        spin_unlock_bh(&jme->phy_lock);
 
        if (!rc) {
                if (fdc)
                        jme_reset_link(jme);
-               jme->old_ecmd = *ecmd;
+               jme->old_cmd = *cmd;
                set_bit(JME_FLAG_SSET, &jme->flags);
        }
 
@@ -2716,7 +2716,7 @@ jme_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
        if (!rc && (cmd == SIOCSMIIREG)) {
                if (duplex_chg)
                        jme_reset_link(jme);
-               jme_get_settings(netdev, &jme->old_ecmd);
+               jme_get_link_ksettings(netdev, &jme->old_cmd);
                set_bit(JME_FLAG_SSET, &jme->flags);
        }
 
@@ -2915,8 +2915,6 @@ static const struct ethtool_ops jme_ethtool_ops = {
        .set_pauseparam         = jme_set_pauseparam,
        .get_wol                = jme_get_wol,
        .set_wol                = jme_set_wol,
-       .get_settings           = jme_get_settings,
-       .set_settings           = jme_set_settings,
        .get_link               = jme_get_link,
        .get_msglevel           = jme_get_msglevel,
        .set_msglevel           = jme_set_msglevel,
@@ -2924,6 +2922,8 @@ static const struct ethtool_ops jme_ethtool_ops = {
        .get_eeprom_len         = jme_get_eeprom_len,
        .get_eeprom             = jme_get_eeprom,
        .set_eeprom             = jme_set_eeprom,
+       .get_link_ksettings     = jme_get_link_ksettings,
+       .set_link_ksettings     = jme_set_link_ksettings,
 };
 
 static int
@@ -3306,7 +3306,7 @@ jme_resume(struct device *dev)
        jme_clear_pm_disable_wol(jme);
        jme_phy_on(jme);
        if (test_bit(JME_FLAG_SSET, &jme->flags))
-               jme_set_settings(netdev, &jme->old_ecmd);
+               jme_set_link_ksettings(netdev, &jme->old_cmd);
        else
                jme_reset_phy_processor(jme);
        jme_phy_calibration(jme);