ssam_request_sync_submit(9)
π ssam_request_sync_submit β Kernel API Manual, bestie edition β¨
okay so real talk: this little function is from the Kernel API Manual and it is the "send it and don't wait around" girlie for synchronous requests. Get into it π
πΈ NAME πΈ
ssam_request_sync_submit β bestie's whole job is: submit a synchronous request. that's it. that's the post π
β¨ SYNOPSIS β¨
int ssam_request_sync_submit (struct ssam_controller *ctrl , struct
ssam_request_sync *rqst );
π«Ά ARGUMENTS π«Ά
ctrlβ the controller you're submitting the request to. your main character controller, basically πrqstβ the request you're submitting. yes, her. the one you set up π
π¦ DESCRIPTION π¦
so you're submitting a synchronous request. sounds simple and honestly it lowkey is, but the request has to be initialized and properly set up before you come at her with this call β that includes the response buffer (which can be NULL if you're not expecting a response, no pressure boo) and the command message data. that's the whole vibe check. the function itself does not wait for the request to be completed, she just yeets it and moves on π§
ngl this part matters: if this function succeeds, you must use ssam_request_sync_wait to make sure the request has actually been completed before you touch the response data and/or free the request. do not skip this step, bestie, i'm begging π
on failure though? different story β the request may immediately be freed. go ahead, it's giving "we're done here" π
real talk: this function may only be used if the controller is active, i.e. it has been initialized and is not suspended. if she's not awake and ready, don't come knocking π«Ά
π₯ SEE ALSO π₯
kernel file ./drivers/platform/surface/aggregator/controller.c, plus literally the entire friend group:
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_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)
π and that's the page!! source is ./drivers/platform/surface/agg... (yes it trails off like that, iconic honestly) and it's stamped October 2026, so jot that down bestie ποΈβ¨ slay, you're welcome, bye π
π¦ 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