STRUCT PHY_ATTRS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct phy_attrs(9) ✨

okay so bestie, welcome to the Kernel API Manual β€” today's main character is struct phy_attrs, and it literally represents phy attributes πŸ’… like that's its whole job, no cap.


🌸 SYNOPSIS 🌸

struct phy_attrs {
    u32 bus_width;
    u32 max_link_rate;
    enum phy_mode           mode;
 };

that's it, that's the struct πŸŽ€ three little fields, all vibes, all business.


πŸ¦‹ Members πŸ¦‹

  • bus_width β€” the data path width that the PHY actually implements, fr fr. that's the width of the lane situation you're working with πŸ’–
  • max_link_rate β€” the maximum link rate the PHY can support πŸ”₯. and here's the tea: the units on this one are to be decided by producer and consumer β€” so like, it's giving "you two figure it out" energy 😭 there's no fixed unit baked in, iykyk.
  • mode β€” the PHY mode, periodt. it's an enum phy_mode, bestie, so it's picking from the mode menu 🌈

πŸ‘‘ SEE ALSO πŸ‘‘

go peek at the Kernel file ./include/linux/phy/phy.h and these iconic siblings:

  • union phy_configure_opts(9)
  • struct phy_ops(9)
  • struct phy(9)
  • struct phy_provider(9)
  • struct phy_lookup(9)

πŸ’€ real talk: max_link_rate having undecided units is not a bug note, it's just how it's documented β€” producer and consumer gotta agree on what they mean. don't @ me.

and that's the whole page, bestie 🫢 straight from ./include/linux/phy, dated October 2026 β€” struct phy_attrs(9) ate and left no crumbs βœ¨πŸ’…

πŸ“¦ where this page comes from