phylink_of_phy_connect(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 a struct phylink that you got back from phylink_create. like, the phylink instance you're doing all this for ✨
  • dn β€” a pointer to a struct 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