Following functions are defined: phylink_fwnode_phy_connect() fwnode_phy_find_device() device_phy_find_device() fwnode_get_phy_node() fwnode_mdiobus_register_phy() fwnode_get_phy_id() First one helps in connecting phy to phylink instance. Next two help in finding a phy on a mdiobus. Next one helps in getting phy_node from a fwnode. Last two help in getting phy_id and registering phy to mdiobus Changes in v3: move fwnode APIs to appropriate place stubs fwnode APIs for !CONFIG_PHYLIB improve comment on function return condition. remove NULL return check as it is invalid remove unused phylink_device_phy_connect() Introduce two functions to register phy to mdiobus using fwnode Changes in v2: move phy code from base/property.c to net/phy/phy_device.c replace acpi & of code to get phy-handle with fwnode_find_reference replace of_ and acpi_ code with generic fwnode to get phy-handle. Calvin Johnson (5): net: phy: Introduce phy related fwnode functions net: phy: alphabetically sort header includes phylink: Introduce phylink_fwnode_phy_connect() net: phy: Introduce fwnode_get_phy_id() net: mdiobus: Introduce fwnode_mdiobus_register_phy() drivers/net/phy/mdio_bus.c | 41 ++++++++++++++ drivers/net/phy/phy_device.c | 102 ++++++++++++++++++++++++++++++----- drivers/net/phy/phylink.c | 48 +++++++++++++++++ include/linux/mdio.h | 2 + include/linux/phy.h | 24 +++++++++ include/linux/phylink.h | 3 ++ 6 files changed, 206 insertions(+), 14 deletions(-) -- 2.17.1