/* Returns a pointer to the phy_device if successfull. NULL otherwise  */
struct phy_device* of_phy_connect(struct net_device *dev, struct device_node *phy_np, void(*hndlr)(struct net_device *), u32 flags, phy_interface_t iface)
/* Returns a pointer to the phy_device if successfull. NULL otherwise  */
struct phy_device* of_phy_connect(struct net_device *dev, struct device_node *phy_np, void(*hndlr)(struct net_device *), u32 flags, phy_interface_t iface)
{
	struct phy_device *phy = of_phy_find_device(phy_np);
	if (!phy)
		return NULL;
	return phy_connect_direct(dev, phy, hndlr, flags, iface) ? NULL : phy;
}