ssam_controller_start(9)
okay bestie, welcome to ssam_controller_start(9) from the Kernel API Manual β the group-chat explainer edition π
β¨ NAME β¨
ssam_controller_start β Start the receiver and transmitter threads of the controller. Thatβs literally the whole vibe, and it ate π
πΈ SYNOPSIS πΈ
int ssam_controller_start (struct ssam_controller *ctrl );
π ARGUMENTS π
ctrlβ The controller. Thatβs it. Thatβs the whole argument, and sheβs iconic π
π NOTE π
When this function is called, the controller should be properly hooked up to the serdev core via struct serdev_device_ops. Please refer to ssam_controller_init for more details on controller initialization β thatβs the lore you need before you press play π¦
Important bestie moment: this function must be called with the main controller lock held (i.e. by calling ssam_controller_lock). No cap, do not skip this part π
π«Ά SEE ALSO π«Ά
The kernel file lore lives here: ./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_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_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)
byeee π this pageβs footer tea is source/version ./drivers/platform/surface/agg... and date October 2026 β 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