__fwnode_link_add(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to __fwnode_link_add(9), the little function that literally plays matchmaker between two firmware nodes 🫢 this one lives in the Kernel API Manual and honestly it's giving "quiet helper that runs the whole friend group" energy πŸ‘‘


✨ NAME ✨

__fwnode_link_add β€” the one where you create a link between two fwnode_handles πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

int __fwnode_link_add (struct fwnode_handle *con , struct fwnode_handle
       *sup , u8 flags );

🌸 ARGUMENTS 🌸

  • con β€” the consumer end of the link, aka the one receiving the goods πŸ›οΈ
  • sup β€” the supplier end of the link, aka the one providing 😌
  • flags β€” the link flags, u8 bestie, keep it tiny and cute πŸŽ€

πŸ’œ DESCRIPTION πŸ’œ

So what it does: it creates a fwnode link between the fwnode handles con and sup ✨ and the point of that link is to represent one very specific detail β€” that the firmware lists sup fwnode as supplying a resource to con πŸ“ like, the firmware said so, and now the kernel knows.

Then the driver core is gonna take that fwnode link and use it to create a device link between the two device objects corresponding to con and sup, when those get created πŸŽ€ and after it does that, the driver core will automatically delete the fwnode link between con and sup 😌 so yeah, this link is temporary, it's a seasonal thing, it's an era not a lifestyle πŸ’…

⚠️ one thing ngl: attempts to create duplicate links between the same pair of fwnode handles are ignored, and there is no reference counting 😭 so don't come here expecting a counter, there isn't one, periodt.

🧚 SEE ALSO 🧚

Kernel file ./drivers/base/core.c β€” and here's the whole extended friend group, no cap, every single one of them πŸ‘‡


and that's the whole thing bestie, you ate it up πŸ’…βœ¨ this page came out of ./drivers/base and it's dated October 2026, so like, future girl summer 🌈 bye now, go link some fwnodes responsibly πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from