aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMatt Porter <mporter@kernel.crashing.org>2005-11-02 16:13:06 -0700
committerJeff Garzik <jgarzik@pobox.com>2005-11-05 14:40:55 -0500
commitf896424cbc61225e8f029fe23e5aae3e32103229 (patch)
treeabfc35832b8bbd3a66b38db6dfc5d6705103436f /drivers/net
parent4371dc6c60705815dcfe0c2979f68a26d0b27bd4 (diff)
downloadkernel_samsung_smdk4412-f896424cbc61225e8f029fe23e5aae3e32103229.zip
kernel_samsung_smdk4412-f896424cbc61225e8f029fe23e5aae3e32103229.tar.gz
kernel_samsung_smdk4412-f896424cbc61225e8f029fe23e5aae3e32103229.tar.bz2
[PATCH] phy address mask support for generic phy layer
Adds a phy_mask field to struct mii_bus and uses it. This field indicates each phy address to be ignored when probing the mdio bus. This support is needed for the fs_enet and ibm_emac drivers to be converted to the generic phy layer among other drivers. Many systems lock up on probing certain phy addresses or probing doesn't return 0xffff when nothing is found at the address. A new driver I'm working on also makes use of this mask. Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/phy/mdio_bus.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index ad93b0d..5eab9c4 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -61,6 +61,9 @@ int mdiobus_register(struct mii_bus *bus)
for (i = 0; i < PHY_MAX_ADDR; i++) {
struct phy_device *phydev;
+ if (bus->phy_mask & (1 << i))
+ continue;
+
phydev = get_phy_device(bus, i);
if (IS_ERR(phydev))