pm_runtime_..._autosuspend(9)
π« pm_runtime_..._autosuspend(9) π«
okay so this is the Kernel API Manual page for pm_runtime_put_sync_autosuspend β and itβs giving βdrop the usage counter and maybe autosuspendβ energy, no cap π
.
πΈ NAME πΈ
pm_runtime_put_sync_autosuspend β update the last access time of a device, drop the device usage counter, and autosuspend if itβs 0. π«Ά
π SYNOPSIS π
int pm_runtime_put_sync_autosuspend (struct device *dev );
π ARGUMENTS π
devβ target device π
π DESCRIPTION π
okay so this one updates the last access time of dev, then decrements the runtime PM usage counter of dev. if that counter turns out to be equal to 0, it sets up autosuspend of dev or suspends it synchronously β depending on whether or not autosuspend has been enabled for it β¨.
π¨ bestie, important: the runtime PM usage counter of dev remains decremented in all cases, even if it returns an error code. fr fr.
π RETURN π
1β Success. Usage counter dropped to zero, but device was already suspended. π0β Success. π-EINVALβ Runtime PM error. π-EACCESβ Runtime PM disabled. π-EAGAINβ Runtime PM usage counter became non-zero or Runtime PM status change ongoing. πͺοΈ-EBUSYβ Runtime PMchild_countnon-zero. π-EPERMβ Device PM QoS resume latency0. π«-EINPROGRESSβ Suspend already in progress. β³-ENOSYSβCONFIG_PMnot enabled. π§
Other values and conditions for the above values are possible as returned by Runtime PM suspend callbacks. iykyk π
π¦ SEE ALSO π¦
Kernel file: ./include/linux/pm_runtime.h β plus the whole bestie roll call: pm_suspend_ignore_children(9), pm_runtime_get_noresume(9), pm_runtime_put_noidle(9), pm_runtime_suspended(9), pm_runtime_active(9), pm_runtime_status_suspended(9), pm_runtime_enabled(9), pm_runtime_blocked(9), pm_runtime_has_no_callbacks(9), pm_runtime_mark_last_busy(9), pm_runtime_is_irq_safe(9), pm_runtime_idle(9), pm_runtime_suspend(9), pm_runtime_autosuspend(9), pm_runtime_resume(9), pm_request_idle(9), pm_request_resume(9), pm_request_autosuspend(9), pm_runtime_get(9), pm_runtime_get_sync(9), pm_runtime_resume_and_get(9), pm_runtime_put(9), __pm_runtime_put_autosuspend(9), pm_runtime_put_autosuspend(9), pm_runtime_put_sync(9), pm_runtime_put_sync_suspend(9), pm_runtime_set_active(9), pm_runtime_set_suspended(9), pm_runtime_disable(9), pm_runtime_use_autosuspend(9), pm_runtime_dont_use_autosuspend(9). obsessed with this list tbh π
mwah π source: ./include/linux; date: October 2026; page: pm_runtime_..._autosuspend(9) β thatβs the whole Kernel API Manual moment, bye bestie π
π¦ 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