Use the device-managed variant for the allocating the MDIO bus. This
cleans-up the code a little on the remove and error paths.

Signed-off-by: Codrin Ciubotariu <codrin.ciubota...@microchip.com>
---
 drivers/net/ethernet/cadence/macb_main.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/cadence/macb_main.c 
b/drivers/net/ethernet/cadence/macb_main.c
index a6a35e1b0115..89fe7af5e408 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -769,7 +769,7 @@ static int macb_mii_init(struct macb *bp)
        /* Enable management port */
        macb_writel(bp, NCR, MACB_BIT(MPE));
 
-       bp->mii_bus = mdiobus_alloc();
+       bp->mii_bus = devm_mdiobus_alloc(&bp->pdev->dev);
        if (!bp->mii_bus) {
                err = -ENOMEM;
                goto err_out;
@@ -787,7 +787,7 @@ static int macb_mii_init(struct macb *bp)
 
        err = macb_mdiobus_register(bp);
        if (err)
-               goto err_out_free_mdiobus;
+               goto err_out;
 
        err = macb_mii_probe(bp->dev);
        if (err)
@@ -797,8 +797,6 @@ static int macb_mii_init(struct macb *bp)
 
 err_out_unregister_bus:
        mdiobus_unregister(bp->mii_bus);
-err_out_free_mdiobus:
-       mdiobus_free(bp->mii_bus);
 err_out:
        return err;
 }
@@ -4571,7 +4569,6 @@ static int macb_probe(struct platform_device *pdev)
 
 err_out_unregister_mdio:
        mdiobus_unregister(bp->mii_bus);
-       mdiobus_free(bp->mii_bus);
 
 err_out_free_netdev:
        free_netdev(dev);
@@ -4599,7 +4596,6 @@ static int macb_remove(struct platform_device *pdev)
        if (dev) {
                bp = netdev_priv(dev);
                mdiobus_unregister(bp->mii_bus);
-               mdiobus_free(bp->mii_bus);
 
                unregister_netdev(dev);
                tasklet_kill(&bp->hresp_err_tasklet);
-- 
2.25.1

Reply via email to