ssam_cplt_submit_event(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ssam_cplt_submit_event β€” the Kernel API Manual moment

okay so bestie, we're in the Kernel API Manual today and the star of the show is literally ssam_cplt_submit_event(9). Yes it's a kernel function, yes it's got a lot of letters, no you don't need to panic. Sit down, hydrate, let's go 🫢


✨ NAME ✨

ssam_cplt_submit_event β€” submit an event to the completion system, that's the whole vibe πŸ’«


πŸŽ€ SYNOPSIS πŸŽ€

int ssam_cplt_submit_event (struct ssam_cplt *cplt , struct
       ssam_event_item *item );

like, two args, one int back. she's simple, she's iconic πŸ‘‘


🌸 ARGUMENTS 🌸

  • cplt β€” the completion system, aka the whole point of the operation, the main character of this call πŸ’…
  • item β€” the event item you're submitting. hand her over, bestie 🎁

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does it actually do? It submits the event to the completion system β€” and it does that in two moves, no cap:

  1. it queues the event on the event item queue πŸ“₯
  2. it queues the respective event queue work item on the completion workqueue βš™οΈ

and then that workqueue will eventually complete the event. eventually!! like it's on its own timeline, she'll get there πŸ’–


πŸ”₯ RETURN πŸ”₯

  • 0 β€” success, we ate, periodt ✨
  • -EINVAL β€” there is no event queue that can handle the given event item 😭 like the item showed up to the party and nobody's on the list

πŸ’œ SEE ALSO πŸ’œ

first up, the kernel file to go peek at, no big deal:

./drivers/platform/surface/aggregator/controller.c

and now the friend group, everyone's invited, the group chat is huge:

ssh_seq_reset(9), ssh_seq_next(9), ssh_rqid_reset(9), ssh_rqid_next(9), ssam_event_matches_notifier(9), ssam_nfblk_call_chain(9), ssam_nfblk_insert(9), ssam_nfblk_find(9), ssam_nfblk_remove(9), ssam_nf_head_init(9), ssam_nf_head_destroy(9), struct ssam_nf_refcount_key(9), struct ssam_nf_refcount_entry(9), ssam_nf_refcount_inc(9), ssam_nf_refcount_dec(9), ssam_nf_refcount_dec_free(9), ssam_nf_refcount_empty(9), ssam_nf_call(9), ssam_nf_init(9), ssam_nf_destroy(9), ssam_event_item_cache_init(9), ssam_event_item_cache_destroy(9), ssam_event_item_free(9), ssam_event_item_alloc(9), ssam_event_queue_push(9), ssam_event_queue_pop(9), ssam_event_queue_is_empty(9), ssam_cplt_get_event_queue(9), ssam_cplt_submit(9), ssam_cplt_flush(9), ssam_event_queue_init(9), ssam_cplt_init(9), ssam_cplt_destroy(9), ssam_controller_device(9), ssam_controller_get(9), ssam_controller_put(9), ssam_controller_statelock(9), ssam_controller_stateunlock(9), ssam_controller_lock(9), ssam_controller_caps_load_from_acpi(9), ssam_controller_caps_load_from_of(9), ssam_controller_caps_load(9), ssam_controller_init(9), ssam_controller_start(9), ssam_controller_shutdown(9), ssam_controller_destroy(9), ssam_controller_suspend(9), ssam_controller_resume(9), ssam_request_write_data(9), ssam_request_sync_alloc(9), ssam_request_sync_free(9), ssam_request_sync_init(9), ssam_request_sync_submit(9), ssam_request_do_sync(9), ssam_request_do_sync_with_buffer(9), struct ssh_notification_params(9), ssam_ssh_event_enable(9), ssam_ssh_event_disable(9), ssam_get_firmware_version(9), ssam_ctrl_notif_display_off(9), ssam_ctrl_notif_display_on(9), ssam_ctrl_notif_d0_exit(9), ssam_ctrl_notif_d0_entry(9), ssam_nf_refcount_enable(9), ssam_nf_refcount_disable_free(9), ssam_notifier_register(9), __ssam_notifier_unregister(9), ssam_controller_event_enable(9), ssam_controller_event_disable(9), ssam_notifier_disable_registered(9), ssam_notifier_restore_registered(9), ssam_notifier_is_empty(9), ssam_notifier_unregister_all(9), ssam_irq_setup(9), ssam_irq_free(9), ssam_irq_arm_for_wakeup(9), ssam_irq_disarm_wakeup(9)

iykyk, read them all, they're all serving πŸ§šβ€β™€οΈ


ngl bestie, the docs are from ./drivers/platform/surface/agg... and they're dated October 2026, so screenshot this page, tag your mutuals, and stay slay πŸ’…πŸŒˆβ­ β€” mwah! πŸ“πŸ’–
πŸ“¦ where this page comes from