phylink_mii_...dvertisement(9)
π phylink_mii_c22_pcs_encode_advertisement(9) π
okay so bestie, welcome to the Kernel API Manual β this page is literally called phylink_mii_...dvertisement(9) up in the header (yes the kernel truncated its own name, tragic, but she's iconic anyway) and it's all about one very specific little helper. buckle up π
β¨ NAME β¨
phylink_mii_c22_pcs_encode_advertisement β configure the clause 37 PCS advertisement
like. that's the whole gig. she encodes advertisements. for clause 37. for a PCS. slay π
π¦ SYNOPSIS π¦
int phylink_mii_c22_pcs_encode_advertisement (phy_interface_t interface
, const unsigned long *advertising );
no cap, that's the exact signature β copy it character for character or the compiler will simply end you π
πΈ ARGUMENTS πΈ
interfaceβ the PHY interface mode being configured. this is the vibe check: what mode are we in, bestieadvertisingβ the ethtool advertisement mask. this is the list of what we're out here advertising π«Ά
π DESCRIPTION π
she's a helper πββοΈ β specifically for MAC PCS that supports the 802.3 clause 22 register set, for clause 37 negotiation and/or SGMII control. like, that's her whole friend group.
what she does: Encode the clause 37 PCS advertisement as specified by interface and advertising. that's it. that's the task. main character energy, minimal scope, we love a focused queen π
β RETURN β
the new value for adv, or -EINVAL if it should not be changed.
heads up: -EINVAL here doesn't mean "oops you broke it" β it literally means it should not be changed. read the room before you start panicking π
π₯ SEE ALSO π₯
okay this is the long part, and I mean long β the whole phylink extended universe is here. every single one, no skipping, no summarizing, we respect the lore:
- 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_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_config(9)phylink_mii_c22_pcs_an_restart(9)phylink_replay_link_begin(9)phylink_replay_link_end(9)
like I said. the whole universe. ate. periodt πβ¨
and that's the page, bestie π§ this one lives in ./drivers/net/phy and it's dated October 2026 β go forth, encode your advertisements, and stan 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