genpd_queue_power_off_work(9)
π genpd_queue_power_off_work(9) β¨
okay bestie, welcome to the Kernel API Manual β yes we're reading manpages now, this is our era π
πΈ NAME πΈ
genpd_queue_power_off_work β queue up the execution of genpd_power_off(). that's it. that's the whole job. iconic behavior honestly π
β¨ SYNOPSIS β¨
void genpd_queue_power_off_work (struct generic_pm_domain *genpd );
like, it returns void. no notes, no receipts, no return value. it just does the thing π
π¦ ARGUMENTS π¦
genpdβ the PM domain you want to power off. yes babe, this is the one getting the off treatment ππ
π DESCRIPTION π
so here's the vibe: this function queues up the execution of genpd_power_off β but only if it hasn't already been done before. that's the whole personality. it's giving "I'll do it, but only if nobody beat me to it" π
not me queuing the work that queues the power off π it's called delegation, look it up.
fr fr though: it's a queue, not a direct call. the actual powering-off happens via the work, and if it's already been handled, this just... doesn't. no cap.
π§ SEE ALSO π§
the whole pmdomain friend group π«Ά lowkey the most stacked SEE ALSO ever, we love a well-connected icon:
Kernel file ./drivers/pmdomain/core.cdev_pm_genpd_set_performance_state(9)dev_pm_genpd_set_next_wakeup(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_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)
like... go off, genuinely ππ₯
mwah π that's the page! this lil beauty lives in ./drivers/pmdomain and it's stamped October 2026 β screenshot it, frame it, put it on your fridge π«Άπ
π¦ 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