From: Oleksij Rempel Date: Fri, 11 Mar 2022 08:50:13 +0000 (+0100) Subject: net: usb: asix: make use of mdiobus_get_phy and phy_connect_direct X-Git-Tag: microblaze-v5.19~142^2~100 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=d5f3c81c569f50b534400d3e9b84d05e65d4f229;p=linux-2.6-microblaze.git net: usb: asix: make use of mdiobus_get_phy and phy_connect_direct In most cases we use own mdio bus, there is no need to create and store string for the PHY address. Signed-off-by: Oleksij Rempel Signed-off-by: David S. Miller --- diff --git a/drivers/net/usb/asix.h b/drivers/net/usb/asix.h index 691f37f45238..072760d76a72 100644 --- a/drivers/net/usb/asix.h +++ b/drivers/net/usb/asix.h @@ -184,7 +184,6 @@ struct asix_common_private { struct mii_bus *mdio; struct phy_device *phydev; u16 phy_addr; - char phy_name[20]; bool embd_phy; u8 chipcode; }; diff --git a/drivers/net/usb/asix_devices.c b/drivers/net/usb/asix_devices.c index 34622c1adacf..fb617eb551bb 100644 --- a/drivers/net/usb/asix_devices.c +++ b/drivers/net/usb/asix_devices.c @@ -661,15 +661,16 @@ static int ax88772_init_phy(struct usbnet *dev) struct asix_common_private *priv = dev->driver_priv; int ret; - snprintf(priv->phy_name, sizeof(priv->phy_name), PHY_ID_FMT, - priv->mdio->id, priv->phy_addr); - - priv->phydev = phy_connect(dev->net, priv->phy_name, &asix_adjust_link, - PHY_INTERFACE_MODE_INTERNAL); - if (IS_ERR(priv->phydev)) { - netdev_err(dev->net, "Could not connect to PHY device %s\n", - priv->phy_name); - ret = PTR_ERR(priv->phydev); + priv->phydev = mdiobus_get_phy(priv->mdio, priv->phy_addr); + if (!priv->phydev) { + netdev_err(dev->net, "Could not find PHY\n"); + return -ENODEV; + } + + ret = phy_connect_direct(dev->net, priv->phydev, &asix_adjust_link, + PHY_INTERFACE_MODE_INTERNAL); + if (ret) { + netdev_err(dev->net, "Could not connect PHY\n"); return ret; }