ibm_newemac: Skip EMACs that are marked unused by the firmware
authorHugh Blemings <hugh@blemings.org>
Wed, 5 Dec 2007 00:14:30 +0000 (11:14 +1100)
committerJeff Garzik <jeff@garzik.org>
Fri, 7 Dec 2007 20:09:06 +0000 (15:09 -0500)
Depending on how the 44x processors are wired, some EMAC cells
might not be useable (and not connected to a PHY). However, some
device-trees may choose to still expose them (since their registers
are present in the MMIO space) but with an "unused" property in them.

Signed-off-by: Hugh Blemings <hugh@blemings.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/ibm_newemac/core.c

index ac9fd46509c1496d583c9c401350274b9a52e80f..a77207f1967175b02d7718df1004e537f6155c79 100644 (file)
@@ -2550,6 +2550,10 @@ static int __devinit emac_probe(struct of_device *ofdev,
        struct device_node **blist = NULL;
        int err, i;
 
+       /* Skip unused/unwired EMACS */
+       if (of_get_property(np, "unused", NULL))
+               return -ENODEV;
+
        /* Find ourselves in the bootlist if we are there */
        for (i = 0; i < EMAC_BOOT_LIST_SIZE; i++)
                if (emac_boot_list[i] == np)