summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHugh Blemings <hugh@blemings.org>2007-12-05 03:14:30 +0300
committerJeff Garzik <jeff@garzik.org>2007-12-07 23:09:06 +0300
commit3d722562d734834282bccd97e0badd213ec311e9 (patch)
treec3c5c34a002198239160d701e594c3df96cbcd02 /drivers
parentbff713b562d495658093f1716a80c6ad76920e8b (diff)
downloadlinux-3d722562d734834282bccd97e0badd213ec311e9.tar.xz
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,
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)