[PATCH net-next v3 05/13] ax88179_178a: Use phylink in get/set_link_ksettings
From: Birger Koblitz
Date: Fri Jul 24 2026 - 03:39:52 EST
The PHYs in the AX179A-based USB-Ethernet controllers can be configured
via phylink. Use this for link configuration.
Signed-off-by: Birger Koblitz <mail@xxxxxxxxxxxxxxxxx>
---
drivers/net/usb/ax88179_178a.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
index 2e2f96a97b8398ece7d70cf349c7db973959629f..136d1d39bf78658758d35372d4a9486e21befd87 100644
--- a/drivers/net/usb/ax88179_178a.c
+++ b/drivers/net/usb/ax88179_178a.c
@@ -967,9 +967,15 @@ ax88179_set_eeprom(struct net_device *net, struct ethtool_eeprom *eeprom,
}
static int ax88179_get_link_ksettings(struct net_device *net,
- struct ethtool_link_ksettings *cmd)
+ struct ethtool_link_ksettings *cmd)
{
struct usbnet *dev = netdev_priv(net);
+ struct ax88179_data *data;
+
+ data = dev->driver_priv;
+
+ if (data->phylink)
+ return phy_ethtool_get_link_ksettings(net, cmd);
mii_ethtool_get_link_ksettings(&dev->mii, cmd);
@@ -980,6 +986,13 @@ static int ax88179_set_link_ksettings(struct net_device *net,
const struct ethtool_link_ksettings *cmd)
{
struct usbnet *dev = netdev_priv(net);
+ struct ax88179_data *data;
+
+ data = dev->driver_priv;
+
+ if (data->phylink)
+ return phy_ethtool_set_link_ksettings(net, cmd);
+
return mii_ethtool_set_link_ksettings(&dev->mii, cmd);
}
--
2.47.3