device_suspend_noirq(9)
π€ 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β iftrue, 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
- 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