pm_runtime_suspend(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay so bestie, welcome to pm_runtime_suspend(9) from the Kernel API Manual β€” the synchronous device-suspend moment, and yes she’s iconic. This function suspends a device synchronously, meaning it doesn’t just send the vibe and bounce; the suspend happens and the call deals with it. πŸ’…


✨ SYNOPSIS ✨

int pm_runtime_suspend (struct device *dev );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” target device. The device you’re trying to suspend, periodt. 🎯

πŸ”₯ RETURN πŸ”₯

like, the return value is basically the mood ring of this call, and here’s the full lineup:

  • 1 β€” success; the device was already suspended. she was already napping, iconic. 😴
  • 0 β€” success.
  • -EINVAL β€” Runtime PM error.
  • -EACCES β€” Runtime PM disabled.
  • -EAGAIN β€” Runtime PM usage counter non-zero or Runtime PM status change ongoing.
  • -EBUSY β€” Runtime PM child_count non-zero.
  • -EPERM β€” Device PM QoS resume latency 0.
  • -ENOSYS β€” CONFIG_PM not enabled.
also, β€œ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 hands back a different number, okay? 😭

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/pm_runtime.h β€” and the whole bestie squad:


signed, sealed, delivered by the Kernel API Manual crew β€” source ./include/linux, dated October 2026, page pm_runtime_suspend(9) πŸ’–βœ¨

πŸ“¦ where this page comes from