From: Russell King (Oracle) Date: Tue, 24 Mar 2026 10:46:52 +0000 (+0000) Subject: net: phylink: use phylink_expects_phy() in phylink_fwnode_phy_connect() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b83c28328fee90ba8c8380f0637846b316694edb;p=thirdparty%2Fkernel%2Flinux.git net: phylink: use phylink_expects_phy() in phylink_fwnode_phy_connect() The tests in phylink_expects_phy() and phylink_fwnode_phy_connect() are identical (by intention). Use phylink_expects_phy() to decide whether to ignore a call to phylink_fwnode_phy_connect(). Signed-off-by: Russell King (Oracle) Reviewed-by: Maxime Chevallier Link: https://patch.msgid.link/E1w4zHg-0000000DmC4-2oyb@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index f80cd13c8e32..087ac63f9193 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -2295,14 +2295,12 @@ int phylink_fwnode_phy_connect(struct phylink *pl, struct phy_device *phy_dev; int ret; - /* Fixed links and 802.3z are handled without needing a PHY */ - if (pl->cfg_link_an_mode == MLO_AN_FIXED || - (pl->cfg_link_an_mode == MLO_AN_INBAND && - phy_interface_mode_is_8023z(pl->link_interface))) + if (!phylink_expects_phy(pl)) return 0; phy_fwnode = fwnode_get_phy_node(fwnode); if (IS_ERR(phy_fwnode)) { + /* PHY mode requires a PHY to be specified. */ if (pl->cfg_link_an_mode == MLO_AN_PHY) return -ENODEV; return 0;