phylink_disconnect_phy(9)
π phylink_disconnect_phy β kernel API manual, but make it make sense
Okay bestie, so in the phylink_disconnect_phy(9) manual page (yes, the whole thing is literally named after the function, iconic naming tbh), we're talking about β¨unlinking a PHYβ¨. That's the whole vibe. Let me break it down for you π«Ά
β¨ NAME β¨
phylink_disconnect_phy β disconnect any PHY attached to the phylink instance.
Like, imagine the PHY and the phylink were holding hands π€ and this function is the "we need to talk" text. That's it. That's the function.
πΈ SYNOPSIS πΈ
void phylink_disconnect_phy (struct phylink *pl );
No return value, no drama, no notes. It just does the thing and leaves π
π ARGUMENTS π
plβ a pointer to astruct phylinkreturned fromphylink_create. Bestie. Please make sure it's actually a valid one that came out ofphylink_create. That's the assignment. That's the whole requirement. π¦
π DESCRIPTION π
Disconnect any current PHY from the phylink instance described by pl.
That's the tea β β whatever PHY is currently attached to that phylink instance, it gets disconnected. No cap, that's the entire behavior. Lowkey the most straightforward function in the whole phylink cinematic universe π
π₯ SEE ALSO π₯
Kernel file ./drivers/net/phy/phylink.c β aka the mothership πΈ β plus the entire phylink friend group, all present and accounted for:
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_of_phy_connect(9)phylink_fwnode_phy_connect(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)β yes it's a different function, don't come for me π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)
Like I said. The whole friend group. Go read all of them, iykyk π
π§ Friendly reminder: this is the disconnect one. If you're trying to attach a PHY instead, you want phylink_connect_phy(9) or one of its cousins up there. Don't mix them up bestie, that's a whole different fanfic π
That's the page!! Sourced straight from ./drivers/net/phy, dated October 2026, and it's phylink_disconnect_phy(9) forever and always π Mwah, go disconnect responsibly π
π¦ 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