OSDN Git Service

net: dsa: sja1105: use xpcs_create_mdiodev()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 2 Jun 2023 13:58:40 +0000 (14:58 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Jun 2023 10:26:02 +0000 (11:26 +0100)
Use the new xpcs_create_mdiodev() creator, which simplifies the
creation and destruction of the mdio device associated with xpcs.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/sja1105/sja1105_mdio.c

index 166fe74..833e55e 100644 (file)
@@ -400,7 +400,6 @@ static int sja1105_mdiobus_pcs_register(struct sja1105_private *priv)
        }
 
        for (port = 0; port < ds->num_ports; port++) {
-               struct mdio_device *mdiodev;
                struct dw_xpcs *xpcs;
 
                if (dsa_is_unused_port(ds, port))
@@ -410,14 +409,7 @@ static int sja1105_mdiobus_pcs_register(struct sja1105_private *priv)
                    priv->phy_mode[port] != PHY_INTERFACE_MODE_2500BASEX)
                        continue;
 
-               mdiodev = mdio_device_create(bus, port);
-               if (IS_ERR(mdiodev)) {
-                       rc = PTR_ERR(mdiodev);
-                       goto out_pcs_free;
-               }
-
-               xpcs = xpcs_create(mdiodev, priv->phy_mode[port]);
-               mdio_device_put(mdiodev);
+               xpcs = xpcs_create_mdiodev(bus, port, priv->phy_mode[port]);
                if (IS_ERR(xpcs)) {
                        rc = PTR_ERR(xpcs);
                        goto out_pcs_free;