ssam_notifie...register_all(9)
β¨ ssam_notifier_unregister_all π
okay so bestie, welcome to the Kernel API Manual β yes we're in kernel-land today, and no, it's not as scary as it sounds. This one's a section 9 page, it's about the Surface Aggregator Module (that's the ssam in every single name here, iykyk), and honestly? It's a little cleanup baddie. It comes in at the end of the party and makes sure nobody's still hanging around. Let's get into it π«Ά
πΈ NAME πΈ
ssam_notifier_unregister_all β unregisters all currently registered notifiers. Every single one. No stragglers, no "wait I left my jacket," nothing. It's giving β¨total closureβ¨.
π¦ SYNOPSIS π¦
void ssam_notifier_unregister_all (struct ssam_controller *ctrl );
That's it. One function, one argument, void return β meaning it hands you back nothing and expects nothing but your trust. Lowkey iconic of it π
π ARGUMENTS π
ctrlβ the controller you want the notifiers unregistered on. Like, which controller's notifier party are we shutting down? This girl. She's astruct ssam_controller *, so yeah, pointer, you got this π«Ά
π DESCRIPTION π
So here's the vibe: this function unregisters all currently registered notifiers. Not some, not a few, not "whichever ones remember to leave" β all of them, and it means it.
And bestie, the reason is so good. This function exists so that when the controller is being shut down, you can be absolutely certain that every notifier gets unregistered and every associated entry and resource gets freed. No leaked resources, no zombie entries lurking in the dark. It's the "okay everybody out, we're closing" of the notifier world ππ₯
β οΈ Heads up: this is a cleanup-on-shutdown situation. You're not picking and choosing here β it's an all-or-nothing sweep, that's literally the whole point. Respect the sweep.
β SEE ALSO β
the group chat is long today, bestie, but every single one of these showed up and we are NOT leaving anyone on read:
Kernel file ./drivers/platform/surface/aggregator/controller.cssh_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_submit_event(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_irq_setup(9)ssam_irq_free(9)ssam_irq_arm_for_wakeup(9)ssam_irq_disarm_wakeup(9)
and that's the whole page, bestie π no cap, you ate that. this one lives over in ./drivers/platform/surface/agg... (they really said "we'll show you most of the path" π) and it's dated October 2026 β so yeah, future girlie behavior, we love to see it πβπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms