From: Ethan Nelson-Moore Date: Sat, 24 Jan 2026 08:22:06 +0000 (-0800) Subject: net: usb: replace unnecessary get_link functions with usbnet_get_link X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd323fab96fba4a134d3c69bd12892f8ae3940bc;p=thirdparty%2Fkernel%2Flinux.git net: usb: replace unnecessary get_link functions with usbnet_get_link usbnet_get_link calls mii_link_ok if the device has a MII defined in its usbnet struct and no check_connect function defined there. This is true of these drivers, so their custom get_link functions which call mii_link_ok are useless. Remove them in favor of usbnet_get_link. Signed-off-by: Ethan Nelson-Moore Reviewed-by: Andrew Lunn Reviewed-by: Peter Korsgaard Link: https://patch.msgid.link/20260124082217.82351-1-enelsonmoore@gmail.com Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/usb/asix_devices.c b/drivers/net/usb/asix_devices.c index 232bbd79a4de..c73cf52a65a8 100644 --- a/drivers/net/usb/asix_devices.c +++ b/drivers/net/usb/asix_devices.c @@ -97,13 +97,6 @@ static u32 asix_get_phyid(struct usbnet *dev) return phy_id; } -static u32 asix_get_link(struct net_device *net) -{ - struct usbnet *dev = netdev_priv(net); - - return mii_link_ok(&dev->mii); -} - static int asix_ioctl (struct net_device *net, struct ifreq *rq, int cmd) { struct usbnet *dev = netdev_priv(net); @@ -116,7 +109,7 @@ static int asix_ioctl (struct net_device *net, struct ifreq *rq, int cmd) devices that may be connected at the same time. */ static const struct ethtool_ops ax88172_ethtool_ops = { .get_drvinfo = asix_get_drvinfo, - .get_link = asix_get_link, + .get_link = usbnet_get_link, .get_msglevel = usbnet_get_msglevel, .set_msglevel = usbnet_set_msglevel, .get_wol = asix_get_wol, @@ -986,7 +979,7 @@ static void ax88178_unbind(struct usbnet *dev, struct usb_interface *intf) static const struct ethtool_ops ax88178_ethtool_ops = { .get_drvinfo = asix_get_drvinfo, - .get_link = asix_get_link, + .get_link = usbnet_get_link, .get_msglevel = usbnet_get_msglevel, .set_msglevel = usbnet_set_msglevel, .get_wol = asix_get_wol, diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c index 2b4716ccf0c5..5540f7ec4906 100644 --- a/drivers/net/usb/dm9601.c +++ b/drivers/net/usb/dm9601.c @@ -266,13 +266,6 @@ static void dm9601_get_drvinfo(struct net_device *net, usbnet_get_drvinfo(net, info); } -static u32 dm9601_get_link(struct net_device *net) -{ - struct usbnet *dev = netdev_priv(net); - - return mii_link_ok(&dev->mii); -} - static int dm9601_ioctl(struct net_device *net, struct ifreq *rq, int cmd) { struct usbnet *dev = netdev_priv(net); @@ -282,7 +275,7 @@ static int dm9601_ioctl(struct net_device *net, struct ifreq *rq, int cmd) static const struct ethtool_ops dm9601_ethtool_ops = { .get_drvinfo = dm9601_get_drvinfo, - .get_link = dm9601_get_link, + .get_link = usbnet_get_link, .get_msglevel = usbnet_get_msglevel, .set_msglevel = usbnet_set_msglevel, .get_eeprom_len = dm9601_get_eeprom_len, diff --git a/drivers/net/usb/sr9800.c b/drivers/net/usb/sr9800.c index 57947a5590cc..ee8c6c9d3962 100644 --- a/drivers/net/usb/sr9800.c +++ b/drivers/net/usb/sr9800.c @@ -478,13 +478,6 @@ static void sr_get_drvinfo(struct net_device *net, strscpy(info->version, DRIVER_VERSION, sizeof(info->version)); } -static u32 sr_get_link(struct net_device *net) -{ - struct usbnet *dev = netdev_priv(net); - - return mii_link_ok(&dev->mii); -} - static int sr_ioctl(struct net_device *net, struct ifreq *rq, int cmd) { struct usbnet *dev = netdev_priv(net); @@ -519,7 +512,7 @@ static int sr_set_mac_address(struct net_device *net, void *p) static const struct ethtool_ops sr9800_ethtool_ops = { .get_drvinfo = sr_get_drvinfo, - .get_link = sr_get_link, + .get_link = usbnet_get_link, .get_msglevel = usbnet_get_msglevel, .set_msglevel = usbnet_set_msglevel, .get_wol = sr_get_wol,