san_client_link(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to san_client_link(9), the little kernel function that makes your client device and the SAN device officially besties 🫢 no cap, this is the whole page, let's get into it.


✨ NAME ✨

san_client_link β€” link a client as a consumer</> to the SAN device. that's it, that's the vibe πŸ’…


🌸 SYNOPSIS 🌸

int san_client_link (struct device *client );

like, you hand it a client and it gives you back an int. simple as πŸ“


πŸ¦‹ ARGUMENTS πŸ¦‹

  • client β€” the client device you wanna link. yes, that one. go link it ✨

πŸ’– DESCRIPTION πŸ’–

so here's the tea β˜• β€” this function sets up a device link between the client device you passed in (playing the consumer role) and the SAN device (which is the provider, obviously, main character energy πŸ‘‘).

why do you care? because this is literally how you make sure the SAN interface has been set up and will stay set up for as long as the driver of the client device is bound. the way that guarantees that, during that whole window, all dGPU events get received by any registered notifier?? iconic. obsessed. πŸ”₯

and the best part? the link is automatically removed once the client device's driver is unbound. no manual cleanup, no messy breakup, it just handles itself 😌✨


🌈 RETURN 🌈

  • zero β€” success, slay, we ate πŸ’…
  • -ENXIO β€” the SAN interface hasn't been set up yet πŸ™ˆ like, give it a sec bestie
  • -ENOMEM β€” device link creation failed 😭 memory said no

πŸ‘‘ SEE ALSO πŸ‘‘

the register/unregister duo, fr fr, go check 'em out 🧚


πŸ’€ real talk: -ENXIO is not a bug, it's just the SAN interface not being ready yet. don't come for it.

k bye bestie, this page lives in ./drivers/platform/surface and it's dated October 2026 β€” so like, future vibes only πŸŒΈβœ¨πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from