SSAM_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… SSAM_DEVICE πŸ’…

okay bestie, so this whole page is about SSAM_DEVICE, a macro from the kernel API manual (that's the 9 in SSAM_DEVICE(9), iykyk) β€” and its whole personality is: it initializes a &struct ssam_device_id with the parameters you hand it. that's it, that's the vibe. πŸŽ€


✨ SYNOPSIS ✨

SSAM_DEVICE (d , cat , tid , iid , fun );

like, you literally just call it with five things and it does its little matchmaking thing. slay.


🌸 ARGUMENTS 🌸

  • d β€” the domain of the device. where it lives, conceptually. 🏠
  • cat β€” the target category of the device. it's giving "what kind of thing are we even talking about".
  • tid β€” the target ID of the device. πŸ†”
  • iid β€” the instance ID of the device. (there can be several, hence instances, hence iid, periodt.)
  • fun β€” the sub-function of the device. the little extra flavor on top. πŸ“

πŸ’– DESCRIPTION πŸ’–

so what it actually does: it initializes a struct ssam_device_id with the parameters you gave it. if you want the full lore on what each of those parameters means, go read struct ssam_device_uid β€” that's the details girlie. πŸ“–

now here's the fun part, the part that ate: there are these special little values β€”

  • SSAM_SSH_TID_ANY
  • SSAM_SSH_IID_ANY
  • SSAM_SSH_FUN_ANY

β€” and you can use them to say "bestie, when matching, ignore target ID / instance ID / sub-function respectively". like a wildcard but make it fashion. wildcards for the girlies who can't commit. ✨

also, this macro initializes the match_flags field based on the parameters you pass. so it's not just vibing, it's deciding things about matching. main character energy fr fr. πŸ‘‘


πŸ”₯ NOTE πŸ”₯

read this part, i'm serious, no cap πŸ™ˆ
  • d and cat must be valid u8 values. like, that's the rule.
  • tid, iid, and fun must be either valid u8 values or SSAM_SSH_TID_ANY, SSAM_SSH_IID_ANY, or SSAM_SSH_FUN_ANY, respectively. one or the other, pick a lane πŸ’€
  • any other non-u8 values? not allowed. we don't do that here. 🚫

πŸ¦‹ SEE ALSO πŸ¦‹

okay this list is long, but every single one of these is iconic in its own way, so:

go read them all, i'll wait πŸ’œ


and that's the page!! this whole glow-up lives at ./include/linux/surface_aggreg... and it's dated October 2026, so jot that down in your notes app bestie 🫢 see you at the next manpage, mwah πŸ’‹πŸŒΈ

πŸ“¦ where this page comes from