> +/**
> + * 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