aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>2014-07-23 16:47:31 -0300
committerDavid S. Miller <davem@davemloft.net>2014-07-24 18:09:52 -0700
commita71e3c37960ce5f9c6a519bc1215e3ba9fa83e75 (patch)
treebe6b693a78170b2e6465eb9a8d66e10c53fcfed4
parent042d7654ecb68383c392e3c7e86e04de023f65f9 (diff)
downloadlinux-a71e3c37960ce5f9c6a519bc1215e3ba9fa83e75.tar.gz
net: phy: Set the driver when registering an MDIO bus device
mdiobus_register() registers a device which is already bound to a driver. Hence, the driver pointer should be set properly in order to track down the driver associated to the MDIO bus. This will be used to allow ethernet driver to pin down a MDIO bus driver, preventing it from being unloaded while the PHY device is running. Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Tested-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/phy/mdio_bus.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 4eaadcfcb0f..203651ebccb 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -255,6 +255,7 @@ int mdiobus_register(struct mii_bus *bus)
bus->dev.parent = bus->parent;
bus->dev.class = &mdio_bus_class;
+ bus->dev.driver = bus->parent->driver;
bus->dev.groups = NULL;
dev_set_name(&bus->dev, "%s", bus->id);