STRUCT PHY_ATTRS(9)
β¨ 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 anenum 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
- 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