__ssam_notifier_unregister(9)
πΈ __ssam_notifier_unregister(9) β Kernel API Manual πΈ
okay bestie, welcome to the Kernel API Manual page for __ssam_notifier_unregister(9) β the little cleanup queen that says "we're SO done here" to an event notifier. she's giving exit-interview energy and honestly? iconic. π
β¨ NAME β¨
__ssam_notifier_unregister β Unregister an event notifier. that's it, that's the whole job. π
π SYNOPSIS π
int __ssam_notifier_unregister (struct ssam_controller *ctrl , struct
ssam_event_notifier *n , bool disable );
look at her. three params, one int back, no drama (most of the time π).
π ARGUMENTS π
ctrlβ The controller the notifier has been registered on. like, the specific one, don't just hand her any controller, she needs the one. π«Άnβ The event notifier to unregister. the main character of this whole operation fr.disableβ Whether to disable the corresponding event on the EC.truemeans yes go talk to the EC about it,falsemeans absolutely not, do not. π
π¦ DESCRIPTION π¦
so, unregister an event notifier. simple, right? mostly! here's the tea tho:
Decrement the usage counter of the associated SAM event if the notifier is not marked as an observer. then β and this is the part you gotta pay attention to β if the usage counter reaches zero and disable equals true, the event will be disabled.
ngl the disable flag is the whole vibe check here, so let's talk about why it exists. π
This function is useful for hot-removable devices, where communication may fail once the device has been physically removed. in that case, specifying disable as false avoids communication with the EC. like, don't yell at the hardware that isn't there anymore bestie, that's just rude and also it won't answer. π
β RETURN β
- Returns zero on success β slay. β¨
-ENOENTif the given notifier block has not been registered on the controller. (translation: you can't unregister something that was never registered, go home.) π- If the given notifier block was the last one associated with its specific event, returns the status of the event-disable EC-command. so basically you're also getting the receipts from that EC call, no pressure. π₯
π SEE ALSO π
Kernel file ./drivers/platform/surface/aggregator/controller.c
and now the extended universe, hold on to your iced coffee:
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_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_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)
like I said. whole extended universe. iykyk π§
and that's the page!! mwah π this cutie came from ./drivers/platform/surface/agg... and she's stamped October 2026 β go unregister responsibly, bestie, and remember: if the counter hits zero and disable is true, the event gets disabled. no cap. π
π¦ 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