ssam_nfblk_remove(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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