diff options
author | Alexander Sverdlin <alexander.sverdlin@sysgo.com> | 2012-11-29 02:45:20 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-11-29 12:36:16 -0500 |
commit | e207e7619cc9be8dedd910d9c6ce3ee56c7f53d0 (patch) | |
tree | a854a858c192467b14eb33b3b29dd5ce094c0f40 /drivers/of | |
parent | 4447ca1280c39265c29475fb6940daa5b867466d (diff) |
of_mdio: Honour "status=disabled" property of device
Currently of_mdiobus_register() function registers all PHY devices,
independetly from their status property in device tree. According to
"ePAPR 1.1" spec, device should only be registered if there is no
"status" property, or it has "ok" (or "okay") value (see
of_device_is_available()). In case of "platform devices",
of_platform_device_create_pdata() checks for "status" and ensures
that disabled devices are not pupulated. But such check for MDIO buses
was missing until now. Fix it.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@sysgo.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/of_mdio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c index 8e6c25f35040..83ca06f4312b 100644 --- a/drivers/of/of_mdio.c +++ b/drivers/of/of_mdio.c | |||
@@ -53,7 +53,7 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) | |||
53 | return rc; | 53 | return rc; |
54 | 54 | ||
55 | /* Loop over the child nodes and register a phy_device for each one */ | 55 | /* Loop over the child nodes and register a phy_device for each one */ |
56 | for_each_child_of_node(np, child) { | 56 | for_each_available_child_of_node(np, child) { |
57 | const __be32 *paddr; | 57 | const __be32 *paddr; |
58 | u32 addr; | 58 | u32 addr; |
59 | int len; | 59 | int len; |