dev_pm_genpd..._next_wakeup(9)
π dev_pm_genpd_set_next_wakeup(9) π
okay so this is from the Kernel API Manual and it's literally the whole vibe of "hey bestie, heads up, a wakeup is coming" β¨
β¨ NAME β¨
dev_pm_genpd_set_next_wakeup β the little function that tells the PM framework an impending wakeup is on its way π«Ά
πΈ SYNOPSIS πΈ
void dev_pm_genpd_set_next_wakeup (struct device *dev , ktime_t next );
π ARGUMENTS π
devβ the device you're handling, bestie. this is the main character of the call πnextβ the impending interrupt/wakeup for the device. like, when it's gonna pop off next β°
π¦ DESCRIPTION π¦
So this bad boy lets devices inform of the next wakeup. That's it, that's the job. π
Now, the fine print, and no cap you gotta read this:
- It's assumed that the users guarantee that the genpd wouldn't be detached while this routine is getting called. Like, you promise. Pinky swear. π€
- Additionally, it's also assumed that
devisn't runtime suspended (RPM_SUSPENDED). Not that. Never that. π
Although devices are expected to update thenext_wakeupafter the end of their usecase as well, it is possible the devices themselves may not know about that, so stalenextwill be ignored when powering off the domain. π§
Translation: if the device leaves stale info lying around because it literally didn't know any better, the power-off path is just gonna side-eye it and ignore it. Not the device's fault, we still love it. π
π SEE ALSO π
the kernel file:
./drivers/pmdomain/core.c
and the whole friend group, fr fr π:
dev_pm_genpd_set_performance_state(9)dev_pm_genpd_get_next_hrtimer(9)dev_pm_genpd_set_hwmode(9)dev_pm_genpd_get_hwmode(9)dev_pm_genpd_rpm_always_on(9)dev_pm_genpd_is_on(9)pm_genpd_inc_rejected(9)genpd_queue_power_off_work(9)genpd_power_off(9)genpd_power_on(9)genpd_power_off_work_fn(9)__genpd_runtime_suspend(9)__genpd_runtime_resume(9)genpd_runtime_suspend(9)genpd_runtime_resume(9)genpd_power_off_unused(9)genpd_sync_power_off(9)genpd_sync_power_on(9)genpd_prepare(9)genpd_finish_suspend(9)genpd_suspend_noirq(9)genpd_finish_resume(9)genpd_resume_noirq(9)genpd_freeze_noirq(9)genpd_thaw_noirq(9)genpd_poweroff_noirq(9)genpd_restore_noirq(9)genpd_complete(9)dev_pm_genpd_suspend(9)dev_pm_genpd_resume(9)pm_genpd_add_device(9)pm_genpd_remove_device(9)dev_pm_genpd_add_notifier(9)dev_pm_genpd_remove_notifier(9)pm_genpd_add_subdomain(9)pm_genpd_remove_subdomain(9)pm_genpd_init(9)pm_genpd_remove(9)struct of_genpd_provider(9)genpd_xlate_simple(9)genpd_xlate_onecell(9)genpd_add_provider(9)of_genpd_add_provider_simple(9)of_genpd_add_provider_onecell(9)of_genpd_del_provider(9)genpd_get_from_provider(9)of_genpd_add_child_ids(9)of_genpd_remove_child_ids(9)of_genpd_add_device(9)of_genpd_add_subdomain(9)of_genpd_remove_subdomain(9)of_genpd_remove_last(9)genpd_dev_pm_detach(9)genpd_dev_pm_attach(9)genpd_dev_pm_attach_by_id(9)genpd_dev_pm_attach_by_name(9)of_genpd_parse_idle_states(9)of_genpd_sync_state(9)
and that's the whole page, bestie β¨ you ate that π
sign-off time π β this one comes from ./drivers/pmdomain, dated October 2026, and the page is filed under dev_pm_genpd..._next_wakeup(9). iykyk ππ¦πΈ
π¦ 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