phylink_destroy(9)
π phylink_destroy(9) β the kernel API manual, but make it make sense π
okay so this one's from the kernel API manual, section 9 (that's the kernel-functions girlies, iykyk) and honestly? it's giving "short and iconic." let's get into it β¨
β¨ NAME β¨
phylink_destroy β cleanup and destroy the phylink instance. yes bestie, both. she cleans up AND she destroys. multi-hyphenate π
π¦ SYNOPSIS π¦
void phylink_destroy (struct phylink *pl );
so it returns nothing (void, she gives nothing back, queen behavior) and takes exactly one arg. no cap.
πΈ ARGUMENTS πΈ
plβ a pointer to astruct phylinkreturned fromphylink_create. like, it has to be one you actually got fromphylink_create, okay? not just some random pointer you found lying around. π
π DESCRIPTION π
so what this does is it destroys a phylink instance. periodt. that's the whole vibe.
but here's the part you actually need to remember: any PHY that has been attached must have been cleaned up via phylink_disconnect_phy prior to calling this function. like, before. not after. not "eh, close enough." before. if you skip that step you're gonna have a bad time π
β οΈ NOTE β οΈ
the rtnl lock must not be held when calling this function.
like, at all. not even a little. put it down first bestie π«Ά holding it is a no-no, fr fr.
π₯ SEE ALSO π₯
the whole friend group, in order, no one left out π
- 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_expects_phy(9)phylink_connect_phy(9)phylink_of_phy_connect(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)
and that's the whole page, bestie! π sourced straight from ./drivers/net/phy, dated October 2026 β yes, the future. she's ahead of her time π« stay safe, disconnect your PHY first, and don't hold that rtnl lock. mwah! π«Άπ
π¦ 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