pm_runtime_autosuspend(9)
β¨ NAME β¨
pm_runtime_autosuspend β update the last access time and set up autosuspend of a device. Yep, bestie, this is the pm_runtime_autosuspend(9) page from the Kernel API Manual, and we're about to make runtime power management make sense π
.
π SYNOPSIS π
int pm_runtime_autosuspend (struct device *dev );
π ARGUMENTS π
devβ the target device. That's the device getting the whole last-access-time-plus-autosuspend treatment, and honestly it's the only argument invited to this function party π«Ά.
π¦ DESCRIPTION π¦
Okay so here's the tea: first it updates the last access time, then it sets up autosuspend of dev or suspends it β depending on whether or not autosuspend is enabled for it β without engaging its "idle check" callback. No idle check callback, no drama, periodt β¨.
π RETURN π
Vibe check on return values, bestie β memorize these fr fr:
1β success; device was already suspended. Iconic.0β success. Slay.-EINVALβ Runtime PM error. Not the vibe.-EACCESβ Runtime PM disabled. Blocked bestie π.-EAGAINβ Runtime PM usage counter non-zero or Runtime PM status change ongoing. Try-again energy.-EBUSYβ Runtime PMchild_countnon-zero. Busy busy.-EPERMβ Device PM QoS resume latency0. The kernel said nope.-ENOSYSβCONFIG_PMnot enabled. Config said no.
Other values and conditions for the above values are possible as returned by Runtime PM suspend callbacks. So don't come for me if a callback adds its own plot twist π₯.
π SEE ALSO π
Kernel file ./include/linux/pm_runtime.h β and now the whole runtime PM friend group, no cap:
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_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_put_sync_autosuspend(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)
Sign-off time: written in ./include/linux, October 2026 edition of pm_runtime_autosuspend(9) β mwah, love u, 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