ssam_nf_refcount_dec_free(9)
π ssam_nf_refcount_dec_free β from the Kernel API Manual π
okay bestie, buckle up, because this is the function that literally cleans up after everybody else. it's giving β¨responsible friend of the group chatβ¨.
β¨ NAME β¨
ssam_nf_refcount_dec_free β decrements the reference-/activation-count of the event you hand it, and frees its entry if the reference count hits zero π«Ά. like, when the last person leaves the party, you turn off the lights. that's her.
πΈ SYNOPSIS πΈ
void ssam_nf_refcount_dec_free (struct ssam_nf *nf , struct
ssam_event_registry reg , struct ssam_event_id id );
π¦ ARGUMENTS π¦
nfβ the notifier system reference π. yes, the whole notifier system. she knows her.regβ the registry that gets used to enable/disable the event β.idβ the event ID, i.e. which event we're talking about π.
π DESCRIPTION π
Decrements the reference-/activation-count of the specified event β and if that count reaches zero, it frees the entry. no cap, that's the whole vibe: one less person holding the event open, and if nobody's left holding it, the entry is gone πβ¨.
π NOTE π
nf->lock must be held when calling this function. like, non-negotiable, bestie. hold the lock or don't come to the function π₯.
π SEE ALSO π
the whole extended family, no gatekeeping π:
- Kernel file
./drivers/platform/surface/aggregator/controller.c 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_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_notifier_unregister_all(9)ssam_irq_setup(9)ssam_irq_free(9)ssam_irq_arm_for_wakeup(9)ssam_irq_disarm_wakeup(9)
okay that's the page, ily, go decrement something responsibly π§π
shoutout to the source ./drivers/platform/surface/agg... and the October 2026 date, straight out of the Kernel API Manual β mwah, slay, periodt π
β¨πΈ
π¦ 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