dev_pm_genpd_is_on(9)
π dev_pm_genpd_is_on β bestie's guide to checking if a genpd is literally on π
okay so first things first, this is a page from the Kernel API Manual (yes, the actual kernel docs, we're being fancy today π) and it's all about one little function that tells you whether a device's generic power domain is awake or not. that's it. that's the whole vibe. β¨
β¨ NAME β¨
dev_pm_genpd_is_on β gets the current power domain status of a device π«Ά
like, "hey is this thing's power domain on rn or nah" β that's the entire job, no cap.
π¦ SYNOPSIS π¦
bool dev_pm_genpd_is_on (struct device *dev );
it returns a bool (so: yes or no, true or false, on or off, slay or not-slay π
) and it takes exactly one argument. keep reading, we'll get to it.
πΈ ARGUMENTS πΈ
devβ the device whose current power status you wanna know about π like, hand it the device and it'll tell you what's up
π DESCRIPTION π
okay so here's what's actually happening under the hood: this function checks whether the generic power domain associated with the given device is on or not. and the way it does that? it verifies if genpd_status_on equals GENPD_STATE_ON. that's the check. that's the whole thing. simple, iconic, does what it says on the tin β¨
ngl it's giving "one job and it does it well" energy and honestly? obsessed.
β οΈ NOTE β οΈ
okay bestie, this part is important, do NOT skip it π
this function returns the power status of the genpd at the time of the call. but the power status may change after β because of activity from other devices sharing the same genpd. multiple devices, one genpd, chaos, you get it π
so like... this information should not be relied upon for long-term decisions about the device power state. it's a snapshot, not a promise. a vibe check, not a commitment. do not build your whole power-management strategy on it, fr fr π«Ά
π RETURN π
so the original page... kind of leaves this one blank π no documented return value to relay here, so we're not gonna make one up. the synopsis does say it's a bool β that's all the source gives us, and we're being honest about it. π
π₯ SEE ALSO π₯
buckle up bestie, this list is LONG, but every single one of these is a real reference and we are NOT skipping a single one π
the kernel file it lives in:
./drivers/pmdomain/core.cπ§
and now, the full squad:
dev_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),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)
like I said. the whole squad. read them all, iykyk π
and that's the page!! πβ¨π
cute little sign-off before you go: this one comes from <pink>./drivers/pmdomain</pink>, and it's dated <purple>October 2026</purple> β the manual title at the bottom is just dev_pm_genpd_is_on(9) all over again, which, yeah, very on brand. go check if your genpd is on, bestie, but remember: it might change the second you look away π¦π
π¦ 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