dev_pm_enabl...ke_irq_check(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ dev_pm_enabl...ke_irq_check β€” Kernel API Manual vibes πŸŽ€

okay so bestie, welcome to the Kernel API Manual entry for dev_pm_enabl...ke_irq_check β€” yes the name is a whole entire mouthful and yes we're gonna get through it together, hand in hand, no cap πŸ’–


✨ NAME ✨

dev_pm_enable_wake_irq_check β€” literally checks and enables the wake-up interrupt, that's the whole gig 🫢


🌸 SYNOPSIS 🌸

void dev_pm_enable_wake_irq_check (struct device *dev , bool can_change_status );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” the device, bestie. the main character of this whole function πŸ’…
  • can_change_status β€” tells us whether we're allowed to change the wake-up interrupt status. like, permission slip energy ✨

πŸ’œ DESCRIPTION πŸ’œ

so the vibe here is: this enables the wakeirq conditionally. not just whenever, okay? we enable the wake-up interrupt lazily on the first rpm_suspend β€” and honestly that's so real of it 🧚

why, you ask? because the consumer device starts in RPM_SUSPENDED state, and the first pm_runtime_get would otherwise try to disable an already-disabled wakeirq, which is giving messy. we don't do messy. and the wake-up interrupt starts disabled with IRQ_NOAUTOEN set β€” iconic, self-aware, knows its boundaries πŸ’€

bestie this is important: it should be called from rpm_suspend, rpm_resume, pm_runtime_force_suspend or pm_runtime_force_resume. no random drive-bys please πŸ™ˆ

and the caller must hold dev->power.lock or disable runtime PM to change wirq->status. that part is not a suggestion, that's the law, periodt πŸ”₯


πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file lives at ./drivers/base/power/wakeirq.c and here's the whole friend group, mwah:


and that's the page, bestie β€” go forth and enable those wake-up interrupts responsibly πŸŒˆπŸ’–

sign-off szn: this one comes from ./drivers/base/power, dated October 2026, and belongs to dev_pm_enabl...ke_irq_check(9). slay, bye πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from