Commit b7d5d043 authored by Russell King (Oracle)'s avatar Russell King (Oracle) Committed by Jakub Kicinski
Browse files

net: enetc: use lynx_pcs_create_mdiodev()



Use the newly introduced lynx_pcs_create_mdiodev() which simplifies the
creation and destruction of the lynx PCS.

Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 5767c6a8
Loading
Loading
Loading
Loading
+4 −18
Original line number Diff line number Diff line
@@ -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 @@ static int enetc_imdio_create(struct enetc_pf *pf)

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);