+/**
+ * fwnode_mdio_find_bus - Given an mii_bus fwnode, find the mii_bus.
+ * @mdio_bus_fwnode: fwnode of the mii_bus.
+ *
+ * Returns a reference to the mii_bus, or NULL if none found. The
+ * embedded struct device will have its reference count incremented,
+ * and this must be put once the bus is finished with.
+struct phy_device *phy_find_by_fwnode(struct fwnode_handle *fwnode)
+{
+ struct fwnode_handle *fwnode_mdio;
+ struct mii_bus *mdio;
+ int addr;
+ int err;
+
+ fwnode_mdio = fwnode_find_reference(fwnode, "mdio-handle", 0);
+ mdio = fwnode_mdio_find_bus(fwnode_mdio);
You don't seem to release the reference on the device anywhere. Is
that a problem?
Andrew