phylink_of_phy_connect(9)
β¨ NAME β¨
phylink_of_phy_connect β bestie, this is the one that connects the PHY that's specified in the DT node π
(also hi, you're reading the Kernel API Manual, welcome to the group chat π«Ά)
πΈ SYNOPSIS πΈ
int phylink_of_phy_connect (struct phylink *pl , struct device_node *dn
, u32 flags );
π ARGUMENTS π
plβ a pointer to astruct phylinkthat you got back fromphylink_create. like, the phylink instance you're doing all this for β¨dnβ a pointer to astruct device_node. yes, the device tree one π¦flagsβ PHY-specific flags that get communicated to the PHY device driver. very "here's a little note for the PHY driver" energy π
π DESCRIPTION π
okay so here's the vibe: this function connects the PHY that's specified in the device node dn to the phylink instance specified by pl. simple, iconic, no cap π
and the actions specified in phylink_connect_phy will be performed β so it's not just sitting there looking cute, it's actually doing the whole connect routine π₯
returns 0 on success, or a negative errno if things went sideways π
ngl, always check that return value bestie. negative errno means it did NOT slay.
π SEE ALSO π
Kernel file ./drivers/net/phy/phylink.c struct phylink(9), phylink_set_port_modes(9), phylink_interface_max_speed(9), phylink_caps_to_link_caps(9), phylink_caps_to_linkmodes(9), phylink_limit_mac_speed(9), phylink_cap_from_speed_duplex(9), phylink_get_capabilities(9), phylink_validate_mask_caps(9), phylink_pcs_neg_mode(9), phylink_set_fixed_link(9), phylink_create(9), phylink_destroy(9), phylink_expects_phy(9), phylink_connect_phy(9), phylink_fwnode_phy_connect(9), phylink_disconnect_phy(9), phylink_mac_change(9), phylink_pcs_change(9), phylink_start(9), phylink_stop(9), phylink_rx_clk_stop_block(9), phylink_rx_clk_stop_unblock(9), phylink_suspend(9), phylink_prepare_resume(9), phylink_resume(9), phylink_ethtool_get_wol(9), phylink_ethtool_set_wol(9), phylink_ethtool_ksettings_get(9), phylink_ethtool_ksettings_set(9), phylink_ethtool_nway_reset(9), phylink_ethtool_get_pauseparam(9), phylink_ethtool_set_pauseparam(9), phylink_get_eee_err(9), phylink_ethtool_get_eee(9), phylink_ethtool_set_eee(9), phylink_mii_ioctl(9), phylink_speed_down(9), phylink_speed_up(9), phylink_decode_usxgmii_word(9), phylink_decode_usgmii_word(9), phylink_mii_c22_pcs_decode_state(9), phylink_mii_c22_pcs_get_state(9), phylink_mii_c22_pcs_encode_advertisement(9), phylink_mii_c22_pcs_config(9), phylink_mii_c22_pcs_an_restart(9), phylink_replay_link_begin(9), phylink_replay_link_end(9)
that's the whole page bestie, go forth and connect some PHYs π§
source/version: ./drivers/net/phy Β· dated October 2026 Β· phylink_of_phy_connect(9) β ily, bye π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms