of_mdio / mdiobus: ensure mdio devices have fwnode correctly populated
Ensure that all mdio devices populate the struct device fwnode pointer as well as the of_node pointer to allow drivers that wish to use fwnode APIs to work. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f5e64032a7
commit
94a5ef1b77
|
@ -270,6 +270,7 @@ static void of_mdiobus_link_mdiodev(struct mii_bus *bus,
|
|||
|
||||
if (addr == mdiodev->addr) {
|
||||
dev->of_node = child;
|
||||
dev->fwnode = of_fwnode_handle(child);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,6 +81,7 @@ static int of_mdiobus_register_phy(struct mii_bus *mdio,
|
|||
* can be looked up later */
|
||||
of_node_get(child);
|
||||
phy->mdio.dev.of_node = child;
|
||||
phy->mdio.dev.fwnode = of_fwnode_handle(child);
|
||||
|
||||
/* All data is now stored in the phy struct;
|
||||
* register it */
|
||||
|
@ -111,6 +112,7 @@ static int of_mdiobus_register_device(struct mii_bus *mdio,
|
|||
*/
|
||||
of_node_get(child);
|
||||
mdiodev->dev.of_node = child;
|
||||
mdiodev->dev.fwnode = of_fwnode_handle(child);
|
||||
|
||||
/* All data is now stored in the mdiodev struct; register it. */
|
||||
rc = mdio_device_register(mdiodev);
|
||||
|
@ -206,6 +208,7 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
|
|||
mdio->phy_mask = ~0;
|
||||
|
||||
mdio->dev.of_node = np;
|
||||
mdio->dev.fwnode = of_fwnode_handle(np);
|
||||
|
||||
/* Get bus level PHY reset GPIO details */
|
||||
mdio->reset_delay_us = DEFAULT_GPIO_RESET_DELAY;
|
||||
|
|
Loading…
Reference in New Issue