pm_wakeup_timer_fn(9)
π pm_wakeup_timer_fn(9) π
okay so bestie, this little angel lives in the Kernel API Manual β that's the (9) section, dev-kernel territory, iykyk π§β¨ buckle up.
πΈ NAME πΈ
pm_wakeup_timer_fn β the delayed finalization of a wakeup event, fr fr. like the cleanup crew that shows up fashionably late π
β¨ SYNOPSIS β¨
void pm_wakeup_timer_fn (struct timer_list *t );
that's the whole vibe. one timer list, no return value, in and out π«Ά
π ARGUMENTS π
tβ timer list. that's it, that's the arg. your whole personality for this function is being a timer list π
π₯ DESCRIPTION π₯
okay so here's the tea β β this function calls wakeup_source_deactivate for the wakeup source whose address is stored in data, but only when all three of these things line up:
- the wakeup source is currently active β
- its timer has not been canceled β
- the expiration time of the timer is not in the future β
all three or it's a no-op, no cap. it's giving "finalization but make it delayed" β¨ the parenthetical in the NAME section literally says delayed finalization of a wakeup event, so yeah, it's the slow-mo cleanup moment, main character energy π
ngl bestie, note that the description says the address is stored in data β that's the wording, keep it in your back pocket π
π SEE ALSO π
hey bestie, the source of all this lore is the kernel file ./drivers/base/power/wakeup.c β go read it, it's iconic πβ¨ and while you're at it, the whole friend group:
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_ws_event(9)pm_wakeup_dev_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)
and that's the whole page bestie, you ate that π
cute lil sign-off: this one's from ./drivers/base/power, dated October 2026, and yeah β it's pm_wakeup_timer_fn(9) all the way down π¦β¨ periodt.
π¦ 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