]> git.baikalelectronics.ru Git - kernel.git/commitdiff
usbnet: add _mii suffix to usbnet_set/get_link_ksettings
authorOliver Neukum <oneukum@suse.com>
Mon, 5 Apr 2021 23:13:41 +0000 (16:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Apr 2021 23:22:36 +0000 (16:22 -0700)
The generic functions assumed devices provided an MDIO interface (accessed
via older mii code, not phylib). This is true only for genuine ethernet.

Devices with a higher level of abstraction or based on different
technologies do not have MDIO. To support this case, first rename
the existing functions with _mii suffix.

v2: rebased on changed upstream
v3: changed names to clearly say that this does NOT use phylib
v4: moved hunks to correct patch; reworded commmit messages

Signed-off-by : Oliver Neukum <oneukum@suse.com>
Tested-by: Roland Dreier <roland@kernel.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/asix_devices.c
drivers/net/usb/cdc_ncm.c
drivers/net/usb/dm9601.c
drivers/net/usb/mcs7830.c
drivers/net/usb/sierra_net.c
drivers/net/usb/smsc75xx.c
drivers/net/usb/sr9700.c
drivers/net/usb/sr9800.c
drivers/net/usb/usbnet.c
include/linux/usb/usbnet.h

index 6e13d8165852ba049328ff46db5bca3a92ababe5..19a8fafb8f04b930c2de7ae50256f465dfc764b9 100644 (file)
@@ -125,8 +125,8 @@ static const struct ethtool_ops ax88172_ethtool_ops = {
        .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)
@@ -291,8 +291,8 @@ static const struct ethtool_ops ax88772_ethtool_ops = {
        .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)
@@ -782,8 +782,8 @@ static const struct ethtool_ops ax88178_ethtool_ops = {
        .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)
index 8ae565a801b52e32e2183ef9604b391d7cce9014..04f3851dd48bb460e5b716a3e0aa06785000f127 100644 (file)
@@ -142,8 +142,8 @@ static const struct ethtool_ops cdc_ncm_ethtool_ops = {
        .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)
index b5d2ac55a874922439dada2cece53116042192d3..89cc61d7a67540239592a1e86a18aae01dd1b7a2 100644 (file)
@@ -282,8 +282,8 @@ static const struct ethtool_ops dm9601_ethtool_ops = {
        .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)
index fc512b780d15b9532da3dd3d3d3ab762b9046052..9f9352a4522f4c7034b497a8c79d7c4551df0710 100644 (file)
@@ -452,8 +452,8 @@ static const struct ethtool_ops mcs7830_ethtool_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 const struct net_device_ops mcs7830_netdev_ops = {
index 55a244eca5ca25f46a35377168d1c9040dd32d6c..55025202dc4fa684ba25f167ab306cea23d1f40b 100644 (file)
@@ -629,8 +629,8 @@ static const struct ethtool_ops sierra_net_ethtool_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)
index 4353b370249f15bd502a8a7ca3186c2298d4c2f0..f8cdabb9ef5a4dd181605dc01f47e10b991ee9aa 100644 (file)
@@ -741,8 +741,8 @@ static const struct ethtool_ops smsc75xx_ethtool_ops = {
        .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)
index 878557ad03ad4992af28d465718828a8b5588872..ce29261263cd8ff66e2939080b723cdd53413723 100644 (file)
@@ -250,8 +250,8 @@ static const struct ethtool_ops sr9700_ethtool_ops = {
        .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)
index da56735d7755d08a9a6ae00d8cffd3470163a672..a822d81310d585efe445a6d238a2c8e7e260fe45 100644 (file)
@@ -527,8 +527,8 @@ static const struct ethtool_ops sr9800_ethtool_ops = {
        .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)
index f4f37ecfed58743d8bbfa41abcef244e7bbe8bb7..5b4629c80b4b784a3360cf41ec7de33e7bc2e237 100644 (file)
@@ -944,7 +944,10 @@ EXPORT_SYMBOL_GPL(usbnet_open);
  * 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);
@@ -956,9 +959,9 @@ int usbnet_get_link_ksettings(struct net_device *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);
@@ -978,7 +981,7 @@ int usbnet_set_link_ksettings(struct net_device *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)
 {
@@ -1043,8 +1046,8 @@ static const struct ethtool_ops usbnet_ethtool_ops = {
        .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,
 };
 
 /*-------------------------------------------------------------------------*/
index cfbfd6fe01dfad22f81c8090c4a9dfdcb1d6a28a..a89e1452107d50baf41fa5f5def052d7677148ea 100644 (file)
@@ -267,9 +267,9 @@ extern void usbnet_pause_rx(struct usbnet *);
 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 *);