summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugh Blemings <hugh@blemings.org>2007-12-05 01:14:30 +0100
committerJeff Garzik <jeff@garzik.org>2007-12-07 21:09:06 +0100
commit3d722562d734834282bccd97e0badd213ec311e9 (patch)
treec3c5c34a002198239160d701e594c3df96cbcd02
parentibm_newemac: Cleanup/fix support for STACR register variants (diff)
downloadlinux-3d722562d734834282bccd97e0badd213ec311e9.tar.xz
linux-3d722562d734834282bccd97e0badd213ec311e9.zip
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>
-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,
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)