ytphy_utp_config_aneg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ ytphy_utp_config_aneg(9) ✨

okay so bestie, this is a page from the Kernel API Manual β€” yes, that Kernel API Manual β€” and honestly it's giving "small function, big responsibilities" energy πŸ’…


🌸 NAME 🌸

ytphy_utp_config_aneg β€” restart auto-negotiation or write BMCR πŸŽ€

πŸ¦‹ SYNOPSIS πŸ¦‹

int ytphy_utp_config_aneg (struct phy_device *phydev , bool changed );

πŸ’– ARGUMENTS πŸ’–

  • phydev β€” the target phy_device struct, aka the whole reason we're here πŸ’«
  • changed β€” a bool, literally just "whether autoneg is requested" πŸ‘‘

πŸ”₯ NOTE πŸ”₯

okay so listen up, because this part is the actual tea β˜•

If auto-negotiation is enabled, we configure the advertising, and then we restart auto-negotiation. Iconic. If it is not enabled, then we write the BMCR. That's it, that's the branch 🌈

⚠️ no cap: the caller must have taken the MDIO bus lock. Like, must. This isn't a suggestion, it's a vibe check you cannot skip 😭

And what does it give you back? It returns 0 or negative errno code. Slay 🫢

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/net/phy/motorcomm.c β€” and honestly the whole friend group 🧚

The ytphy_*_ext girlies (and their lock-free twins):

WOL + page stuff:

The structs (yes they get their own (9) and yes that's iconic):

  • struct ytphy_cfg_reg_map(9)
  • struct ytphy_ldo_vol_map(9)

The yt8521 crew, part 1:

The yt8521 crew, part 2 (fiber era):

The yt8521 crew, part 3 (aneg & features):

The yt8821 crew β€” main character energy, all of them:


okay that's the whole page, you ate that πŸ’…βœ¨

cute lil sign-off: this one lives in ./drivers/net/phy, it's dated October 2026, and it's still answering to the name ytphy_utp_config_aneg(9) β€” periodt πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from