net: enetc: use lynx_pcs_create_mdiodev()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 26 May 2023 10:14:50 +0000 (11:14 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 30 May 2023 04:46:53 +0000 (21:46 -0700)
Use the newly introduced lynx_pcs_create_mdiodev() which simplifies the
creation and destruction of the lynx PCS.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc_pf.c

index 7cd22d3..1416262 100644 (file)
@@ -863,7 +863,6 @@ static int enetc_imdio_create(struct enetc_pf *pf)
        struct device *dev = &pf->si->pdev->dev;
        struct enetc_mdio_priv *mdio_priv;
        struct phylink_pcs *phylink_pcs;
-       struct mdio_device *mdio_device;
        struct mii_bus *bus;
        int err;
 
@@ -889,17 +888,9 @@ static int enetc_imdio_create(struct enetc_pf *pf)
                goto free_mdio_bus;
        }
 
-       mdio_device = mdio_device_create(bus, 0);
-       if (IS_ERR(mdio_device)) {
-               err = PTR_ERR(mdio_device);
-               dev_err(dev, "cannot create mdio device (%d)\n", err);
-               goto unregister_mdiobus;
-       }
-
-       phylink_pcs = lynx_pcs_create(mdio_device);
-       if (!phylink_pcs) {
-               mdio_device_free(mdio_device);
-               err = -ENOMEM;
+       phylink_pcs = lynx_pcs_create_mdiodev(bus, 0);
+       if (IS_ERR(phylink_pcs)) {
+               err = PTR_ERR(phylink_pcs);
                dev_err(dev, "cannot create lynx pcs (%d)\n", err);
                goto unregister_mdiobus;
        }
@@ -918,13 +909,8 @@ free_mdio_bus:
 
 static void enetc_imdio_remove(struct enetc_pf *pf)
 {
-       struct mdio_device *mdio_device;
-
-       if (pf->pcs) {
-               mdio_device = lynx_get_mdio_device(pf->pcs);
-               mdio_device_free(mdio_device);
+       if (pf->pcs)
                lynx_pcs_destroy(pf->pcs);
-       }
        if (pf->imdio) {
                mdiobus_unregister(pf->imdio);
                mdiobus_free(pf->imdio);