pm_wakeup_dev_event(9)
π pm_wakeup_dev_event(9) β from the Kernel API Manual, bestie π
okay so picture this: you're deep in the kernel, the power-management girlies are all vibing, and something just happened that the PM core needs to know about. That's this function. It's the little messenger that says "hey bestie, wakeup event, handle it" π«Ά
β¨ NAME β¨
pm_wakeup_dev_event β Notify the PM core of a wakeup event. literally its whole job, and it does it flawlessly, no cap π
π¦ SYNOPSIS π¦
void pm_wakeup_dev_event (struct device *dev , unsigned int msec , bool
hard );
π ARGUMENTS π
devβ thestruct devicethis wakeup event is related to. like, whose event is this? this one. π«΅msecβ the anticipated event processing time, in milliseconds. yes, milliseconds, keep that unit in your head bestie β±οΈhardβ if this is set, it aborts suspends that are in progress and wakes up from suspend-to-idle. so it's the dramatic one π set it and things actually get interrupted.
πΈ DESCRIPTION πΈ
So what does it actually do? The way that it just calls pm_wakeup_ws_event for dev's wakeup source object. that's it, that's the whole description, and honestly? iconic. it delegates and it slays β¨
ngl this one is a thin wrapper β all the real lore lives in pm_wakeup_ws_event(9), which is down there in SEE ALSO π
π SEE ALSO π
Kernel file ./drivers/base/power/wakeup.c β and now the whole friend group, in order, nobody left out:
wakeup_source_create(9)wakeup_source_destroy(9)wakeup_source_add(9)wakeup_source_remove(9)wakeup_source_register(9)wakeup_source_unregister(9)wakeup_sources_read_lock(9)wakeup_sources_read_unlock(9)wakeup_sources_walk_start(9)wakeup_sources_walk_next(9)device_wakeup_attach(9)device_wakeup_enable(9)device_wakeup_attach_irq(9)device_wakeup_detach_irq(9)device_wakeup_arm_wake_irqs(9)device_wakeup_disarm_wake_irqs(9)device_wakeup_detach(9)device_wakeup_disable(9)device_set_wakeup_capable(9)device_set_wakeup_enable(9)wakeup_source_not_usable(9)wakeup_source_activate(9)wakeup_source_report_event(9)__pm_stay_awake(9)pm_stay_awake(9)wakeup_source_deactivate(9)__pm_relax(9)pm_relax(9)pm_wakeup_timer_fn(9)pm_wakeup_ws_event(9)pm_wakeup_pending(9)pm_get_wakeup_count(9)pm_save_wakeup_count(9)pm_wakep_autosleep_enabled(9)print_wakeup_source_stats(9)wakeup_sources_stats_seq_show(9)bpf_wakeup_sources_read_lock(9)bpf_wakeup_sources_read_unlock(9)bpf_wakeup_sources_get_head(9)
that's 39 entries bestie, I counted, we do not skip a single one in this house π π (and yes, pm_wakep_autosleep_enabled(9) really is spelled like that β I did not touch it, I would never π)
β¨ that's the whole page, mwah β¨
cute little sign-off: this one lives in ./drivers/base/power, dated October 2026, and it goes by pm_wakeup_dev_event(9). go forth and wake things up responsibly π§ββοΈππ
π¦ 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