ssam_ctrl_notif_d0_exit(9)
π ssam_ctrl_notif_d0_exit β a Kernel API Manual moment
okay so bestie, welcome to the ssam_ctrl_notif_d0_exit(9) page π this is from the Kernel API Manual, and it's honestly a tiny little function with main character energy β short page, big "i'm telling the EC something" vibes. let's get into it π
β¨ NAME β¨
ssam_ctrl_notif_d0_exit β the function that tells the EC "hey girl, the driver/device is dipping out of the D0 power state" ππ€
πΈ SYNOPSIS πΈ
int ssam_ctrl_notif_d0_exit (struct ssam_controller *ctrl );
like, that's it. one function, one arg, returns an int. we love a low-maintenance icon π«Ά
π¦ ARGUMENTS π¦
ctrlβ the controller. that's the whole description. she is the controller. no cap π
π₯ DESCRIPTION π₯
so what this does is notify the EC that the driver is getting ready to exit the D0 power state in favor of a lower-power state π΄β¨ and likeβ¦ what the EC actually does with that info? honestly bestie, the exact effects of this function related to the EC are currently unknown. it's giving mystery, it's giving "we'll find out together" π
important vibe check: this function will only send the D0-exit notification command if D0-state notifications are supported by the EC. and only newer Surface generations support these notifications, so if you're on an older one, this whole thing is basically a no-op for you, sorry babe π
and to reverse the effects of this function, you use ssam_ctrl_notif_d0_entry β she's the undo button, the round-trip, the "actually come back" π
β RETURN β
here's what you can get back, fr fr:
- zero on success β or if no request has actually been executed π
- the status of the executed SAM request if that request failed π¬
-EPROTOif an unexpected response has been received π like, the EC said something weird and we're side-eyeing it
π SEE ALSO π
first up, the source file where the magic lives:
- Kernel file
./drivers/platform/surface/aggregator/controller.c
and now the extended friend group π β everybody's invited:
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_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_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)
like, the whole squad showed up to the group chat ππ
ngl this page is short but she's doing her best β remember the exact effects on the EC are currently unknown, so don't go making up lore about what it does π₯
and that's the tea, bestie π this one came from ./drivers/platform/surface/agg... and it's dated October 2026 β so go forth, notify that EC, and slay π
β¨π
π¦ 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