pm_runtime_force_resume(9)
π pm_runtime_force_resume(9) π
okay so this is a page from the Kernel API Manual, and bestie, we're about to make a device wake up on purpose. π«Ά
β¨ NAME β¨
pm_runtime_force_resume β literally forces a device into resume state if it needs it, no cap.
πΈ SYNOPSIS πΈ
int pm_runtime_force_resume (struct device *dev );
π ARGUMENTS π
devβ the device you're waking up. your main character. π¦
π DESCRIPTION π
okay so here's the vibe check on what this function expects before you even call it. two acceptable situations, pick one:
pm_runtime_force_suspendalready put the device into a low-power state before you called this, or- the device was already runtime-suspended before the preceding system-wide suspend transition, and it just stayed in suspend the whole time during that transition. π€
then the function does its thing: whatever actions pm_runtime_force_suspend carried out β or that a runtime suspend in general carried out β get reversed, and the device is brought back into full power. π₯
but only if it's expected to be used on system resume, bestie. and that's true when:
- its
needs_force_resumeflag is set, or - its
smart_suspendflag is set and its runtime PM status is"active".
in other cases? the resume is deferred to be managed via runtime PM instead. lowkey handing it off. π
ngl, the typical move here is invoking this function from a system resume callback. that's the moment. β
π SEE ALSO π
- Kernel file
./drivers/base/power/runtime.cβ go read the source, it ate π
and the whole friend group, fr fr:
update_pm_runtime_accounting(9),pm_runtime_deactivate_timer(9),pm_runtime_cancel_pending(9),rpm_check_suspend_allowed(9),pm_runtime_release_supplier(9),__rpm_callback(9),rpm_callback(9),rpm_idle(9),rpm_suspend(9),rpm_resume(9),pm_runtime_work(9),pm_suspend_timer_fn(9),pm_schedule_suspend(9),__pm_runtime_idle(9),__pm_runtime_suspend(9),__pm_runtime_resume(9),pm_runtime_get_conditional(9),pm_runtime_get_if_active(9),pm_runtime_get_if_in_use(9),__pm_runtime_set_status(9),__pm_runtime_barrier(9),pm_runtime_barrier(9),pm_runtime_enable(9),devm_pm_runtime_set_active_enabled(9),devm_pm_runtime_enable(9),devm_pm_runtime_get_noresume(9),pm_runtime_forbid(9),pm_runtime_allow(9),pm_runtime_no_callbacks(9),pm_runtime_irq_safe(9),update_autosuspend(9),pm_runtime_set_autosuspend_delay(9),__pm_runtime_use_autosuspend(9),pm_runtime_init(9),pm_runtime_reinit(9),pm_runtime_remove(9),pm_runtime_get_suppliers(9),pm_runtime_put_suppliers(9),pm_runtime_drop_link(9),pm_runtime_force_suspend(9)
π§ okay that's the page!! it lives in ./drivers/base/power, it's part of the Kernel API Manual, and it was dated October 2026 β so yeah, timestamped and iconic. periodt. π
β¨π
π¦ 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