aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHugh Blemings <hugh@blemings.org>2007-12-04 19:14:30 -0500
committerJeff Garzik <jeff@garzik.org>2007-12-07 15:09:06 -0500
commit3d722562d734834282bccd97e0badd213ec311e9 (patch)
treec3c5c34a002198239160d701e594c3df96cbcd02 /drivers
parentbff713b562d495658093f1716a80c6ad76920e8b (diff)
ibm_newemac: Skip EMACs that are marked unused by the firmware
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ibm_newemac/core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index ac9fd46509c1..a77207f19671 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -2550,6 +2550,10 @@ static int __devinit emac_probe(struct of_device *ofdev,
2550 struct device_node **blist = NULL; 2550 struct device_node **blist = NULL;
2551 int err, i; 2551 int err, i;
2552 2552
2553 /* Skip unused/unwired EMACS */
2554 if (of_get_property(np, "unused", NULL))
2555 return -ENODEV;
2556
2553 /* Find ourselves in the bootlist if we are there */ 2557 /* Find ourselves in the bootlist if we are there */
2554 for (i = 0; i < EMAC_BOOT_LIST_SIZE; i++) 2558 for (i = 0; i < EMAC_BOOT_LIST_SIZE; i++)
2555 if (emac_boot_list[i] == np) 2559 if (emac_boot_list[i] == np)