ssam_nf_refcount_enable(9)
π ssam_nf_refcount_enable(9) β bestie edition β¨
Okay so real talk, this is the manual page for ssam_nf_refcount_enable(9) and it's lowkey iconic. No cap, it's giving "tiny function, big responsibilities" and I'm obsessed. Let's get into it π«Ά
πΈ NAME πΈ
ssam_nf_refcount_enable β Enable event for reference count entry if it has not already been enabled.
(Yes bestie, that's the whole job. It's a vibe check for your reference counts π)
β¨ SYNOPSIS β¨
int ssam_nf_refcount_enable (struct ssam_controller *ctrl ,
struct ssam_nf_refcount_entry *entry ,
u8 flags );
Not me formatting this so cleanly π it's literally art.
π ARGUMENTS π
ctrlβ The controller to enable the event on. Your main character, the one calling the shots πentryβ The reference count entry for the event to be enabled. This is the lil record you're working with πflagsβ The flags used for enabling the event on the EC. Gotta pass these along so everything lines up β¨
π¦ DESCRIPTION π¦
Okay so here's the tea βοΈ: this function enables the event associated with the given reference count entry if the reference count equals one, i.e. the event has not previously been enabled. Basically "first time? let's go π "
But if the event has already been enabled (i.e. reference count not equal to one), it checks that the flags used for enabling match β and warns about this if they don't. It's giving "wait, did you use the same settings as before? bestie, consistency is key π"
Heads up: this does not modify the reference count itself! That's a whole separate situation, handled withssam_nf_refcount_inc/ssam_nf_refcount_dec. Don't come for this function's job, it knows its lane π«Ά
π NOTE π
nf->lock must be held when calling this function.
Periodt. No lock, no talk. This is non-negotiable, bestie β
π₯ RETURN π₯
- Returns zero on success π
- If the event is enabled by this call, returns the status of the event-enable EC command π«
So like, sometimes you get the simple 0, sometimes you get the actual command status. Both are valid, both are iconic.
π SEE ALSO π
Kernel file ./drivers/platform/surface/aggregator/controller.c
And now, the whole squad, the entire friend group, the full group chat π«Ά:
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_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)
Like, the whole gang showed up. Love that for them π
π Cute lil sign-off π
This absolute banger comes to you from ./drivers/platform/surface/agg... (the path got cut off, but you get the vibe β¨), dated October 2026, and it's filed under ssam_nf_refcount_enable(9) in the Kernel API Manual.
Stay locked, stay enabled, and remember: nf->lock is not a suggestion, bestie ππ§ββοΈ
π¦ 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