ssam_nfblk_remove(9)
π NAME π
okay so bestie, this is ssam_nfblk_remove(9) from the Kernel API Manual, and it does exactly one iconic thing: Remove a notifier block from its notifier list. That's the whole vibe. π
β¨ SYNOPSIS β¨
void ssam_nfblk_remove (struct ssam_notifier_block *nb );
π ARGUMENTS π
nbβ the notifier block to be removed. literally the main character of this function.
β οΈ NOTE β οΈ
okay listen up, because this part is not optional. This function must be synchronized by the caller with respect to other insert, find, and/or remove calls by holding struct ssam_nf.lock. no cap, that lock matters.
Furthermore, the caller _must_ ensure SRCU synchronization by calling synchronize_srcu with nh->srcu after leaving the critical section, to ensure that the removed notifier block is not in use any more. likeβ¦ if you skip that, you're not slaying, you're just creating chaos. π
π SEE ALSO π
- Kernel file
./drivers/platform/surface/aggregator/controller.c
and the full guest list of references, no skips, no cuts β every single one is here:
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_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)
mwah π this page's source/version is ./drivers/platform/surface/agg..., dated October 2026, and the footer says ssam_nfblk_remove(9). 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