strlcpy(info->bus_info, dev_name(&netdev->dev), sizeof(info->bus_info));
 }
 
-static int ftmac100_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd)
+static int ftmac100_get_link_ksettings(struct net_device *netdev,
+                                      struct ethtool_link_ksettings *cmd)
 {
        struct ftmac100 *priv = netdev_priv(netdev);
-       return mii_ethtool_gset(&priv->mii, cmd);
+       return mii_ethtool_get_link_ksettings(&priv->mii, cmd);
 }
 
-static int ftmac100_set_settings(struct net_device *netdev, struct ethtool_cmd *cmd)
+static int ftmac100_set_link_ksettings(struct net_device *netdev,
+                                      const struct ethtool_link_ksettings *cmd)
 {
        struct ftmac100 *priv = netdev_priv(netdev);
-       return mii_ethtool_sset(&priv->mii, cmd);
+       return mii_ethtool_set_link_ksettings(&priv->mii, cmd);
 }
 
 static int ftmac100_nway_reset(struct net_device *netdev)
 }
 
 static const struct ethtool_ops ftmac100_ethtool_ops = {
-       .set_settings           = ftmac100_set_settings,
-       .get_settings           = ftmac100_get_settings,
        .get_drvinfo            = ftmac100_get_drvinfo,
        .nway_reset             = ftmac100_nway_reset,
        .get_link               = ftmac100_get_link,
+       .get_link_ksettings     = ftmac100_get_link_ksettings,
+       .set_link_ksettings     = ftmac100_set_link_ksettings,
 };
 
 /******************************************************************************