pm_runtime_allow(9)
β¨ pm_runtime_allow(9) β from the Kernel API Manual β¨
ok so we're deep in the kernel docs rn, and this one is a function called pm_runtime_allow β it's literally in the Kernel API Manual, bestie, we're doing Big Kernel Things today π
πΈ NAME πΈ
pm_runtime_allow β Unblock runtime PM of a device. that's it, that's the whole vibe π«Ά
π¦ SYNOPSIS π¦
void pm_runtime_allow (struct device *dev );
π ARGUMENTS π
devβ Device to handle. like, the device you're doing this to. the main character device, if you will π
π DESCRIPTION π
okay so picture this: your dev got its runtime suspend blocked at some point β probz by pm_runtime_forbid (for instance, if it's been blocked via the /sys/devices/.../power/control interface, iykyk). this function is the β¨unblockingβ¨ moment.
pm_runtime_allow unblocks runtime suspend of dev after it's been blocked like that, then it checks whether dev can actually be suspended β and if it can, it suspends it right then and there. no cap. π₯
and here's a fun little detail: calling this function many times in a row? same effect as calling it once. so spam it if you want, it's lowkey idempotent π«Ά not me being obsessed with a repeat-safe API.
π SEE ALSO π
- Kernel file
./drivers/base/power/runtime.cβ the source file, go read it bestie, it's giving lore π 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)β the one that started all this drama π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)pm_runtime_force_resume(9)
that's the whole page, bestie β no hidden sections, no jump scares π
ok bye, this page lives under ./drivers/base/power and it's dated October 2026 β so like, future-coded but make it kernel. mwah, slay, 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