STRUCT SSAM_CONTROLLER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ssam_controller(9) β€” like, the Kernel API Manual bestie ✨

okay so this is a page from the Kernel API Manual, and we're talking about struct ssam_controller β€” the SSAM controller device itself. yes, the whole main character. let's get into it 🫢


🌸 NAME 🌸

struct ssam_controller β€” the SSAM controller device, no cap πŸ’–


✨ SYNOPSIS ✨

here's the struct in all its glory, bestie β€” copy it exactly, don't @ me:

struct ssam_controller {
    struct kref kref;
    struct rw_semaphore lock;
    enum ssam_controller_state state;
    struct ssh_rtl rtl;
    struct ssam_cplt cplt;
    struct {
      struct ssh_seq_counter seq;
      struct ssh_rqid_counter rqid;
    } counter;
    struct {
      int num;
      bool wakeup_enabled;
    } irq;
    struct ssam_controller_caps caps;
 };

πŸŽ€ Members πŸŽ€

  • kref β€” the reference count of the controller. like a little tally of who's holding onto it πŸ’…
  • lock β€” the main lock for the controller, and it's lowkey the bouncer at the club: it guards all the state changes so nothing gets messy πŸ”₯
  • state β€” literally just the controller state. that's it, that's the vibe ✨
  • rtl β€” the request transport layer for SSH I/O. the whole delivery pipeline, iconic πŸ¦‹
  • cplt β€” the completion system for SSH/SSAM events and asynchronous requests. it's giving "we'll let you know when it's done" energy 🌸
  • counter β€” safe SSH message ID counters. keeping the IDs cute and collision-free πŸ’–
    • counter.seq β€” the sequence ID counter ✨
    • counter.rqid β€” the request ID counter ⭐
  • irq β€” the wakeup IRQ resources πŸŽ€
    • irq.num β€” the wakeup IRQ number, literally just the number 😌
    • irq.wakeup_enabled β€” whether wakeup by IRQ is enabled during suspend. yes/no, that's the whole thing πŸ™ˆ
  • caps β€” the controller device capabilities. what it can do, its whole skill set πŸ‘‘

🌈 SEE ALSO 🌈

go look at the kernel file ./drivers/platform/surface/aggregator/controller.h for the real ones, plus all these besties:

  • struct ssh_seq_counter(9)
  • struct ssh_rqid_counter(9)
  • struct ssam_nf_head(9)
  • struct ssam_nf(9)
  • struct ssam_event_item(9)
  • struct ssam_event_queue(9)
  • struct ssam_event_target(9)
  • struct ssam_cplt(9)
  • enum ssam_controller_state(9)
  • struct ssam_controller_caps(9)
  • ssam_controller_receive_buf(9)
  • ssam_controller_write_wakeup(9)

fr fr, that's the whole page. every member, every field, nothing skipped πŸ’€

k bye bestie, this came from ./drivers/platform/surface/agg..., dated October 2026, and it's the struct ssam_controller(9) page πŸ’œπŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from