ssam_nfblk_insert(9)
π
ssam_nfblk_insert(9) β the ssam_nfblk_insert page, bestie edition π
okay so you're in the Kernel API Manual and you clicked on ssam_nfblk_insert(9). iconic choice. let me tell you what this function does before you spiral.
πΈ NAME πΈ
ssam_nfblk_insert β inserts a shiny new notifier block into the given notifier list. that's it. that's the whole vibe. π
β¨ SYNOPSIS β¨
int ssam_nfblk_insert (struct ssam_nf_head *nh , struct ssam_notifier_block *nb );
look at her. two structs, one int, zero drama (as long as you read the NOTE, bestie, please read the NOTE). π₯
π¦ ARGUMENTS π¦
nhβ the notifier head you're inserting into. it's the host. the venue. the main character location of this whole operation. πnbβ the notifier block you're adding. this is the guest of honor getting slotted into the list. π
π¨ NOTE π¨
This function must be synchronized by the caller with respect to other insert, find, and/or remove calls by holding struct ssam_nf.lock.
translation: you are responsible for holding struct ssam_nf.lock while you call this, so that your insert doesn't collide with somebody else's insert, find, or remove. no lock, no safety, no cap. π this is literally the caller's job β the function isn't gonna do it for you. π
β RETURN β
- Returns zero on success π«Ά β we love a clean
0, slay -EEXISTif the notifier block has already been registered π β like bestie, she's already at the party, you can't invite her twice
π SEE ALSO π
the whole extended friend group, fr fr β go read these too, iykyk:
- 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_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_notifier_unregister_all(9)ssam_irq_setup(9),ssam_irq_free(9),ssam_irq_arm_for_wakeup(9),ssam_irq_disarm_wakeup(9)
that's the whole page, bestie. lock held, block inserted, -EEXIST avoided. periodt. π
β¨
sign-off szn: this little beauty lives in ./drivers/platform/surface/aggβ¦ and the date on the tin is October 2026 β go off, kernel docs, we love a timestamped queen ππ¦π
π¦ 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