diff options
author | David S. Miller <davem@davemloft.net> | 2021-06-17 12:06:53 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-06-17 12:06:53 -0700 |
commit | a31fcbceef37f7a502b8dc70e2c2767e68232e74 (patch) | |
tree | 2a88d859ace28417f566ffaa2b864c7da4e2100e /drivers/net/mdio/of_mdio.c | |
parent | b67fda9a8280b14d44712d2ad6413e0074b070b8 (diff) | |
parent | 7e33d84db1a8a6c3000e9b02c074c17819680755 (diff) |
Merge branch 'mdio-nodes'
Ioana Ciornei says:
====================
net: mdio: setup both fwnode and of_node
The first patch in this series fixes a bug introduced by mistake in the
previous ACPI MDIO patch set.
The next two patches are adding a new helper which takes a device and a
fwnode_handle and populates both the of_node and fwnode so that we make
sure that a bug like this does not happen anymore.
Also, the new helper is used in the MDIO area.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/mdio/of_mdio.c')
-rw-r--r-- | drivers/net/mdio/of_mdio.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/mdio/of_mdio.c b/drivers/net/mdio/of_mdio.c index 8744b1e1c2b1..9e3c815a070f 100644 --- a/drivers/net/mdio/of_mdio.c +++ b/drivers/net/mdio/of_mdio.c @@ -51,6 +51,7 @@ static int of_mdiobus_register_phy(struct mii_bus *mdio, static int of_mdiobus_register_device(struct mii_bus *mdio, struct device_node *child, u32 addr) { + struct fwnode_handle *fwnode = of_fwnode_handle(child); struct mdio_device *mdiodev; int rc; @@ -61,9 +62,8 @@ static int of_mdiobus_register_device(struct mii_bus *mdio, /* Associate the OF node with the device structure so it * can be looked up later. */ - of_node_get(child); - mdiodev->dev.of_node = child; - mdiodev->dev.fwnode = of_fwnode_handle(child); + fwnode_handle_get(fwnode); + device_set_node(&mdiodev->dev, fwnode); /* All data is now stored in the mdiodev struct; register it. */ rc = mdio_device_register(mdiodev); @@ -162,8 +162,7 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) * the device tree are populated after the bus has been registered */ mdio->phy_mask = ~0; - mdio->dev.of_node = np; - mdio->dev.fwnode = of_fwnode_handle(np); + device_set_node(&mdio->dev, of_fwnode_handle(np)); /* Get bus level PHY reset GPIO details */ mdio->reset_delay_us = DEFAULT_GPIO_RESET_DELAY; |