STRUCT PHYLINK_PCS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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 which PHY_INTERFACE_MODE_xxx modes this PCS supports. it's giving "here is my type, respectfully" πŸ’…
  • ops β€” a pointer to the struct phylink_pcs_ops structure. the plug for the actual behavior, iykyk πŸ”₯
  • phylink β€” pointer to struct 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 of PHY_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 ⭐


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