STRUCT PHYLINK_PCS(9)
π struct phylink_pcs(9) β PHYLINK PCS instance
okay so bestie, welcome to the Kernel API Manual β¨ this one's all about struct phylink_pcs β the little struct that's literally the whole personality of a PHYLINK PCS instance π
β¨ SYNOPSIS β¨
struct phylink_pcs {
unsigned long supported_interfaces[BITS_TO_LONGS(
PHY_INTERFACE_MODE_MAX)];
const struct phylink_pcs_ops *ops;
struct phylink *phylink;
bool poll;
bool rxc_always_on;
};
no cap, that's the whole vibe π
π«Ά Members (yes, all of them, i don't skip)
supported_interfacesβ this one's the β¨receiptsβ¨: it describes exactly whichPHY_INTERFACE_MODE_xxxmodes this PCS supports. it's giving "here is my type, respectfully" πopsβ a pointer to thestruct phylink_pcs_opsstructure. the plug for the actual behavior, iykyk π₯phylinkβ pointer tostruct phylink_config. (yes, fr fr, that's what it says π)pollβ poll the PCS for link changes π¦ like literally checking in on it, "u good? u connected?"rxc_always_onβ the MAC driver requires the reference clock to always be on, periodt. Standalone PCS drivers which do not have access to a PHY device can check this instead ofPHY_F_RXC_ALWAYS_ONπ
πΈ DESCRIPTION πΈ
This structure is designed to be embedded within the PCS private data, and will be passed between phylink and the PCS. it's a whole handoff moment, main character energy β¨
β οΈ vibe check warning: the phylink member is private to phylink and must not be touched by the PCS driver. not even a little. not even to look. hands off bestie π
π SEE ALSO π
Kernel file ./include/linux/phylink.h β go read it, it's iconic β
struct phylink_link_state(9)struct phylink_config(9)struct phylink_mac_ops(9)mac_get_caps(9)mac_select_pcs(9)mac_prepare(9)mac_config(9)mac_finish(9)mac_link_down(9)mac_link_up(9)mac_disable_tx_lpi(9)mac_enable_tx_lpi(9)mac_wol_set(9)struct phylink_pcs_ops(9)pcs_validate(9)pcs_inband_caps(9)pcs_enable(9)pcs_disable(9)pcs_get_state(9)pcs_config(9)pcs_an_restart(9)pcs_link_up(9)pcs_disable_eee(9)pcs_enable_eee(9)pcs_pre_init(9)phylink_get_link_timer_ns(9)phylink_mac_implements_lpi(9)
okay that's the whole thing, you ate that π mwah π
this page came to you straight from ./include/linux, dated October 2026 β Kernel API Manual realness, slay π
π¦ 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