genphy_c45_aneg_done(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… genphy_c45_aneg_done(9) β€” the auto-negotiation vibe check

okay so real talk, this one lives in the Kernel API Manual and it's genuinely one of the cutest little helpers in there. bestie, let's get into it πŸŽ€


✨ NAME ✨

genphy_c45_aneg_done β€” returns the auto-negotiation complete status, that's it, that's the whole job πŸ¦‹

✨ SYNOPSIS ✨

int genphy_c45_aneg_done (struct phy_device *phydev );

✨ ARGUMENTS ✨

  • phydev β€” the target struct phy_device you're asking about. it's giving "who are we checking on today" energy πŸ‘‘

✨ DESCRIPTION ✨

so this function assumes that the auto-negotiation MMD is present β€” like, don't come for her if it isn't, she said what she said πŸ™ˆ

what she does: reads the status register from the auto-negotiation MMD, and then returns one of three things, and honestly the range is iconic:

  • positive if auto-negotiation is complete βœ… slay
  • negative errno code on error πŸ’€ not slay
  • zero otherwise β€” like, not done yet, we're still waiting, main character is still loading ⏳
ngl the "zero otherwise" is such a mood. it's not a no, it's a "not yet" 🫢

✨ SEE ALSO ✨

the whole friend group fr fr β€” the kernel file is ./drivers/net/phy/phy-c45.c, and then there's this absolute roster:


like, literally forty-whatever of them, and yes I listed every single one because we don't do "etc." in this house πŸ’…βœ¨

okay that's the page!! πŸŽ€ this whole thing comes to you from the Kernel API Manual, source path ./drivers/net/phy, dated October 2026 β€” mwah, love u, go read your PHY status registers responsibly πŸ”₯πŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from