ssam_contro...ad_from_acpi(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay so bestie, welcome to the Kernel API Manual page for ssam_controller_caps_load_from_acpi(9) β€” yes, the function name is eating and leaving no crumbs πŸ’…. this is the ACPI _DSM capabilities-loading moment, and it's lowkey iconic.

ssam_controller_caps_load_from_acpi β€” Load controller capabilities from ACPI _DSM.

✨ SYNOPSIS ✨

the signature is literally right here, copy it exactly, no edits, fr fr:

int ssam_controller_caps_load_from_acpi (acpi_handle handle , struct
ssam_controller_caps *caps );

πŸŽ€ ARGUMENTS πŸŽ€

two arguments, both main characters:

  • handle β€” the handle of the ACPI controller/SSH device. that's the device you're pointing at, bestie 🫢
  • caps β€” where to store the capabilities in. yes, this is the output destination, no cap ✨

πŸ’… DESCRIPTION πŸ’…

okay so here's the tea: this function initializes the given controller capabilities with default values first. then it checks the respective _DSM functions, and if those are available, it loads the actual capabilities from the _DSM. it's giving "defaults first, then maybe the real ACPI tea if the _DSM hooks show up" πŸ’–

🫢 RETURN 🫢

returns zero on success, and a negative error code on failure. zero is the slay outcome; negative means something went sideways 😭

πŸ”₯ SEE ALSO πŸ”₯

the kernel file is ./drivers/platform/surface/aggregator/controller.c, and here's the whole friend group, ngl it's a lot: 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_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). periodt 🫢✨


source/version: ./drivers/platform/surface/agg... Β· date: October 2026 Β· page: ssam_contro...ad_from_acpi(9) β€” byeee bestie, drink water, and may your _DSM hooks always show up πŸ’–πŸŒˆβœ¨

πŸ“¦ where this page comes from