.get_eeprom             = asix_get_eeprom,
        .set_eeprom             = asix_set_eeprom,
        .nway_reset             = usbnet_nway_reset,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static void ax88172_set_multicast(struct net_device *net)
        .get_eeprom             = asix_get_eeprom,
        .set_eeprom             = asix_set_eeprom,
        .nway_reset             = usbnet_nway_reset,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static int ax88772_link_reset(struct usbnet *dev)
        .get_eeprom             = asix_get_eeprom,
        .set_eeprom             = asix_set_eeprom,
        .nway_reset             = usbnet_nway_reset,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static int marvell_phy_init(struct usbnet *dev)
 
        .get_sset_count    = cdc_ncm_get_sset_count,
        .get_strings       = cdc_ncm_get_strings,
        .get_ethtool_stats = cdc_ncm_get_ethtool_stats,
-       .get_link_ksettings      = usbnet_get_link_ksettings,
-       .set_link_ksettings      = usbnet_set_link_ksettings,
+       .get_link_ksettings      = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings      = usbnet_set_link_ksettings_mii,
 };
 
 static u32 cdc_ncm_check_rx_max(struct usbnet *dev, u32 new_rx)
 
        .get_eeprom_len = dm9601_get_eeprom_len,
        .get_eeprom     = dm9601_get_eeprom,
        .nway_reset     = usbnet_nway_reset,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static void dm9601_set_multicast(struct net_device *net)
 
        .get_msglevel           = usbnet_get_msglevel,
        .set_msglevel           = usbnet_set_msglevel,
        .nway_reset             = usbnet_nway_reset,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static const struct net_device_ops mcs7830_netdev_ops = {
 
        .get_msglevel = usbnet_get_msglevel,
        .set_msglevel = usbnet_set_msglevel,
        .nway_reset = usbnet_nway_reset,
-       .get_link_ksettings = usbnet_get_link_ksettings,
-       .set_link_ksettings = usbnet_set_link_ksettings,
+       .get_link_ksettings = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings = usbnet_set_link_ksettings_mii,
 };
 
 static int sierra_net_get_fw_attr(struct usbnet *dev, u16 *datap)
 
        .set_eeprom     = smsc75xx_ethtool_set_eeprom,
        .get_wol        = smsc75xx_ethtool_get_wol,
        .set_wol        = smsc75xx_ethtool_set_wol,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static int smsc75xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
 
        .get_eeprom_len = sr9700_get_eeprom_len,
        .get_eeprom     = sr9700_get_eeprom,
        .nway_reset     = usbnet_nway_reset,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static void sr9700_set_multicast(struct net_device *netdev)
 
        .get_eeprom_len = sr_get_eeprom_len,
        .get_eeprom     = sr_get_eeprom,
        .nway_reset     = usbnet_nway_reset,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 static int sr9800_link_reset(struct usbnet *dev)
 
  * they'll probably want to use this base set.
  */
 
-int usbnet_get_link_ksettings(struct net_device *net,
+/* These methods are written on the assumption that the device
+ * uses MII
+ */
+int usbnet_get_link_ksettings_mii(struct net_device *net,
                              struct ethtool_link_ksettings *cmd)
 {
        struct usbnet *dev = netdev_priv(net);
 
        return 0;
 }
-EXPORT_SYMBOL_GPL(usbnet_get_link_ksettings);
+EXPORT_SYMBOL_GPL(usbnet_get_link_ksettings_mii);
 
-int usbnet_set_link_ksettings(struct net_device *net,
+int usbnet_set_link_ksettings_mii(struct net_device *net,
                              const struct ethtool_link_ksettings *cmd)
 {
        struct usbnet *dev = netdev_priv(net);
 
        return retval;
 }
-EXPORT_SYMBOL_GPL(usbnet_set_link_ksettings);
+EXPORT_SYMBOL_GPL(usbnet_set_link_ksettings_mii);
 
 u32 usbnet_get_link (struct net_device *net)
 {
        .get_msglevel           = usbnet_get_msglevel,
        .set_msglevel           = usbnet_set_msglevel,
        .get_ts_info            = ethtool_op_get_ts_info,
-       .get_link_ksettings     = usbnet_get_link_ksettings,
-       .set_link_ksettings     = usbnet_set_link_ksettings,
+       .get_link_ksettings     = usbnet_get_link_ksettings_mii,
+       .set_link_ksettings     = usbnet_set_link_ksettings_mii,
 };
 
 /*-------------------------------------------------------------------------*/
 
 extern void usbnet_resume_rx(struct usbnet *);
 extern void usbnet_purge_paused_rxq(struct usbnet *);
 
-extern int usbnet_get_link_ksettings(struct net_device *net,
+extern int usbnet_get_link_ksettings_mii(struct net_device *net,
                                     struct ethtool_link_ksettings *cmd);
-extern int usbnet_set_link_ksettings(struct net_device *net,
+extern int usbnet_set_link_ksettings_mii(struct net_device *net,
                                     const struct ethtool_link_ksettings *cmd);
 extern u32 usbnet_get_link(struct net_device *net);
 extern u32 usbnet_get_msglevel(struct net_device *);