Rather than use devm_kzalloc(), use the mdio helper function.

Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
 drivers/net/phy/mdio-octeon.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/net/phy/mdio-octeon.c b/drivers/net/phy/mdio-octeon.c
index fcf4e4df7cc8..0d5da1312dd3 100644
--- a/drivers/net/phy/mdio-octeon.c
+++ b/drivers/net/phy/mdio-octeon.c
@@ -268,12 +268,13 @@ static int octeon_mdiobus_write(struct mii_bus *bus, int 
phy_id,
 static int octeon_mdiobus_probe(struct platform_device *pdev)
 {
        struct octeon_mdiobus *bus;
+       struct mii_bus *mii_bus;
        struct resource *res_mem;
        union cvmx_smix_en smi_en;
        int err = -ENOENT;
 
-       bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL);
-       if (!bus)
+       mii_bus = devm_mdiobus_alloc_size(&pdev->dev, sizeof(*bus));
+       if (!mii_bus)
                return -ENOMEM;
 
        res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -282,6 +283,8 @@ static int octeon_mdiobus_probe(struct platform_device 
*pdev)
                return -ENXIO;
        }
 
+       bus = mii_bus->priv;
+       bus->mii_bus = mii_bus;
        bus->mdio_phys = res_mem->start;
        bus->regsize = resource_size(res_mem);
 
@@ -298,10 +301,6 @@ static int octeon_mdiobus_probe(struct platform_device 
*pdev)
                return -ENOMEM;
        }
 
-       bus->mii_bus = mdiobus_alloc();
-       if (!bus->mii_bus)
-               goto fail;
-
        smi_en.u64 = 0;
        smi_en.s.en = 1;
        oct_mdio_writeq(smi_en.u64, bus->register_base + SMI_EN);
@@ -326,7 +325,6 @@ static int octeon_mdiobus_probe(struct platform_device 
*pdev)
        return 0;
 fail_register:
        mdiobus_free(bus->mii_bus);
-fail:
        smi_en.u64 = 0;
        oct_mdio_writeq(smi_en.u64, bus->register_base + SMI_EN);
        return err;
-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to