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>
This commit is contained in:
commit
a31fcbceef
@ -4723,6 +4723,13 @@ void device_set_of_node_from_dev(struct device *dev, const struct device *dev2)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_set_of_node_from_dev);
|
||||
|
||||
void device_set_node(struct device *dev, struct fwnode_handle *fwnode)
|
||||
{
|
||||
dev->fwnode = fwnode;
|
||||
dev->of_node = to_of_node(fwnode);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_set_node);
|
||||
|
||||
int device_match_name(struct device *dev, const void *name)
|
||||
{
|
||||
return sysfs_streq(dev_name(dev), name);
|
||||
|
@ -65,7 +65,7 @@ int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio,
|
||||
* can be looked up later
|
||||
*/
|
||||
fwnode_handle_get(child);
|
||||
phy->mdio.dev.fwnode = child;
|
||||
device_set_node(&phy->mdio.dev, child);
|
||||
|
||||
/* All data is now stored in the phy struct;
|
||||
* register it
|
||||
|
@ -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;
|
||||
|
@ -459,8 +459,7 @@ static void of_mdiobus_link_mdiodev(struct mii_bus *bus,
|
||||
continue;
|
||||
|
||||
if (addr == mdiodev->addr) {
|
||||
dev->of_node = child;
|
||||
dev->fwnode = of_fwnode_handle(child);
|
||||
device_set_node(dev, of_fwnode_handle(child));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -819,6 +819,7 @@ int device_online(struct device *dev);
|
||||
void set_primary_fwnode(struct device *dev, struct fwnode_handle *fwnode);
|
||||
void set_secondary_fwnode(struct device *dev, struct fwnode_handle *fwnode);
|
||||
void device_set_of_node_from_dev(struct device *dev, const struct device *dev2);
|
||||
void device_set_node(struct device *dev, struct fwnode_handle *fwnode);
|
||||
|
||||
static inline int dev_num_vf(struct device *dev)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user