diff options
author | Hugh Blemings <hugh@blemings.org> | 2007-12-04 19:14:30 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-12-07 15:09:06 -0500 |
commit | 3d722562d734834282bccd97e0badd213ec311e9 (patch) | |
tree | c3c5c34a002198239160d701e594c3df96cbcd02 /drivers/net/ibm_newemac | |
parent | bff713b562d495658093f1716a80c6ad76920e8b (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/net/ibm_newemac')
-rw-r--r-- | drivers/net/ibm_newemac/core.c | 4 |
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) |