]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/ucc_geth_mii.c
e1000e: Increment version to 0.2.1
[linux-2.6-omap-h63xx.git] / drivers / net / ucc_geth_mii.c
index 6c257b88ce51ed8fc7206407e351f3c9f431c0ff..e4d3f330bac341941023a7131bb2c0e39dc86f24 100644 (file)
@@ -32,7 +32,6 @@
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
-#include <asm/ocp.h>
 #include <linux/crc32.h>
 #include <linux/mii.h>
 #include <linux/phy.h>
@@ -110,7 +109,7 @@ int uec_mdio_reset(struct mii_bus *bus)
        struct ucc_mii_mng __iomem *regs = (void __iomem *)bus->priv;
        unsigned int timeout = PHY_INIT_TIMEOUT;
 
-       spin_lock_bh(&bus->mdio_lock);
+       mutex_lock(&bus->mdio_lock);
 
        /* Reset the management interface */
        out_be32(&regs->miimcfg, MIIMCFG_RESET_MANAGEMENT);
@@ -122,7 +121,7 @@ int uec_mdio_reset(struct mii_bus *bus)
        while ((in_be32(&regs->miimind) & MIIMIND_BUSY) && timeout--)
                cpu_relax();
 
-       spin_unlock_bh(&bus->mdio_lock);
+       mutex_unlock(&bus->mdio_lock);
 
        if (timeout <= 0) {
                printk(KERN_ERR "%s: The MII Bus is stuck!\n", bus->name);
@@ -158,7 +157,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma
        if (err)
                goto reg_map_fail;
 
-       new_bus->id = res.start;
+       snprintf(new_bus->id, MII_BUS_ID_SIZE, "%x", res.start);
 
        new_bus->irq = kmalloc(32 * sizeof(int), GFP_KERNEL);
 
@@ -257,6 +256,9 @@ static struct of_device_id uec_mdio_match[] = {
                .type = "mdio",
                .compatible = "ucc_geth_phy",
        },
+       {
+               .compatible = "fsl,ucc-mdio",
+       },
        {},
 };