net: phy: Use devm api for mdio bus allocation in bcm iproc mdio mux
authorArun Parameswaran <arun.parameswaran@broadcom.com>
Thu, 2 Aug 2018 00:53:50 +0000 (17:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Aug 2018 21:36:49 +0000 (14:36 -0700)
Use devm_mdiobus_alloc() instead of mdiobus_alloc() in the Broadcom
iProc mdio mux driver.

Signed-off-by: Arun Parameswaran <arun.parameswaran@broadcom.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mdio-mux-bcm-iproc.c

index 4a253c28edbc7fc91796611204ec8eab76294519..e6146b439b455067a42e5eb25a21f6d089b4307e 100644 (file)
@@ -198,7 +198,7 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev)
                return PTR_ERR(md->base);
        }
 
-       md->mii_bus = mdiobus_alloc();
+       md->mii_bus = devm_mdiobus_alloc(&pdev->dev);
        if (!md->mii_bus) {
                dev_err(&pdev->dev, "mdiomux bus alloc failed\n");
                return -ENOMEM;
@@ -217,7 +217,7 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev)
        rc = mdiobus_register(bus);
        if (rc) {
                dev_err(&pdev->dev, "mdiomux registration failed\n");
-               goto out;
+               return rc;
        }
 
        platform_set_drvdata(pdev, md);
@@ -236,8 +236,6 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev)
 
 out_register:
        mdiobus_unregister(bus);
-out:
-       mdiobus_free(bus);
        return rc;
 }
 
@@ -247,7 +245,6 @@ static int mdio_mux_iproc_remove(struct platform_device *pdev)
 
        mdio_mux_uninit(md->mux_handle);
        mdiobus_unregister(md->mii_bus);
-       mdiobus_free(md->mii_bus);
 
        return 0;
 }