STRUCT PHY_PROVIDER(9)
π struct phy_provider(9)
okay bestie, buckle up β we're deep in the Kernel API Manual today and this one is genuinely iconic. this is the page for struct phy_provider, and it does exactly what it says on the tin: it represents the phy provider. that's it, that's the whole vibe. periodt. π
β¨ NAME β¨
struct phy_provider β literally just the struct that represents the phy provider π¦
πΈ SYNOPSIS πΈ
here's the whole glow-up, copy-pasted exactly so nobody comes for me:
struct phy_provider {
struct device *dev;
struct device_node *children;
struct module *owner;
struct list_head list;
struct phy * (*of_xlate)(struct device *dev, const struct of_phandle_args *args);
};
no cap, that's the entire thing. five fields. she's compact, she's efficient, she ate. π
π Members π
let's go field by field, i got you:
devβ the phy provider device. this is the device herself, the main character energy of the whole struct. βchildrenβ can be used to override the default (dev->of_node) child node. so if the default child node isn't giving what it needs to give, this is your escape hatch. πownerβ the module owner havingof_xlate. basically whoever's holding the keys to that function. πlistβ to maintain a linked list of PHY providers. all the providers holding hands in a nice little chain, we love a support system. π«Άof_xlateβ function pointer to obtain phy instance from phy pointer. yes bestie, a function pointer, we're being fancy today. it takesstruct device *devandconst struct of_phandle_args *argsand hands you back astruct phy *. iykyk. β¨
ngl, if you're poking around in here you're probably writing a PHY driver. good luck, you're doing amazing, drink some water. π
π SEE ALSO π
go touch some other docs, they're all in the kernel file ./include/linux/phy/phy.h:
union phy_configure_opts(9)struct phy_ops(9)struct phy_attrs(9)struct phy(9)struct phy_lookup(9)
and that's the whole page, bestie! this little beauty lives in ./include/linux/phy, and this edition is dated October 2026, slaying under the name struct phy_provider(9). mwah, go build something iconic ππ§
π¦ 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