powerpc/82xx: Rework Embedded Planet ep8248e platform to use of_mdio
authorGrant Likely <grant.likely@secretlab.ca>
Sat, 25 Apr 2009 12:53:28 +0000 (12:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Apr 2009 09:53:51 +0000 (02:53 -0700)
This patch modifies the bitbanged MDIO driver in the ep8248e platform
code to use the common of_mdio infrastructure.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/powerpc/platforms/82xx/ep8248e.c

index 0eb6d7f62241a38c43e47853e02183374ab752f2..51fcae41f08a1a6b710b4aab08c2586d3157f3b9 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/interrupt.h>
 #include <linux/fsl_devices.h>
 #include <linux/mdio-bitbang.h>
+#include <linux/of_mdio.h>
 #include <linux/of_platform.h>
 
 #include <asm/io.h>
@@ -115,7 +116,7 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev,
        struct mii_bus *bus;
        struct resource res;
        struct device_node *node;
-       int ret, i;
+       int ret;
 
        node = of_get_parent(ofdev->node);
        of_node_put(node);
@@ -130,17 +131,13 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev,
        if (!bus)
                return -ENOMEM;
 
-       bus->phy_mask = 0;
        bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
 
-       for (i = 0; i < PHY_MAX_ADDR; i++)
-               bus->irq[i] = -1;
-
        bus->name = "ep8248e-mdio-bitbang";
        bus->parent = &ofdev->dev;
        snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start);
 
-       return mdiobus_register(bus);
+       return of_mdiobus_register(bus, ofdev->node);
 }
 
 static int ep8248e_mdio_remove(struct of_device *ofdev)