device_suspend_noirq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’€ device_suspend_noirq(9) β€” a little field guide

okay so this is a page straight out of the Kernel API Manual, bestie β€” yes, the whole device_suspend_noirq(9) situation. it's giving "tiny function, huge responsibility" and honestly? iconic. let's get into it πŸ’…


✨ NAME ✨

device_suspend_noirq β€” runs the "noirq suspend" callback for a given device. that's the whole vibe. one callback, one device, no interruptions (literally, we'll get there 🫢).


πŸ¦‹ SYNOPSIS πŸ¦‹

void device_suspend_noirq (struct device *dev , pm_message_t state ,
bool async );

it returns void, so like… don't go looking for a return value, she's not giving you one πŸ’€


πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the device you're handling. the main character of this whole operation, fr fr.
  • state β€” the PM transition of the system that's being carried out. iykyk, it's the power-management mood of the moment.
  • async β€” if true, this device is being suspended asynchronously. yes queen, do it in the background ✨

🌸 DESCRIPTION 🌸

here's the tea, and it's important: while this function is executing, the driver of dev will not receive interrupts. not one. zero. she's in her quiet era πŸ™ˆ

bestie pls clock this β€” the no-interrupts thing is the entire point of "noirq," so don't be out here expecting your driver to get pinged mid-callback. it will not. πŸ’€

🌈 SEE ALSO 🌈

Kernel file ./drivers/base/power/main.c β€” go read the source, it's right there, be nosy πŸ‘‘

and the full friend group, no cap:

pm_hibernate_is_recovering(9), device_pm_sleep_init(9), device_pm_lock(9), device_pm_unlock(9), device_pm_add(9), device_pm_remove(9), device_pm_move_before(9), device_pm_move_after(9), device_pm_move_last(9), dpm_wait(9), pm_op(9), pm_late_early_op(9), pm_noirq_op(9), dpm_watchdog_handler(9), dpm_watchdog_set(9), dpm_watchdog_clear(9), dev_pm_skip_resume(9), device_resume_noirq(9), dpm_resume_noirq(9), device_resume_early(9), dpm_resume_early(9), dpm_resume_start(9), device_resume(9), dpm_resume(9), device_complete(9), dpm_complete(9), dpm_resume_end(9), resume_event(9), dpm_suspend_noirq(9), device_suspend_late(9), dpm_suspend_late(9), dpm_suspend_end(9), legacy_suspend(9), device_suspend(9), dpm_suspend(9), device_prepare(9), dpm_prepare(9), dpm_suspend_start(9), device_pm_wait_for_dev(9), dpm_for_each_dev(9)


and that's the page!! mwah πŸ’– this little gem lives in ./drivers/base/power, dated October 2026, and it's filed under device_suspend_noirq(9) β€” go forth and suspend responsibly, bestie πŸ§šβ€β™€οΈβ­

πŸ“¦ where this page comes from