genpd_dev_pm_detach(9)
π genpd_dev_pm_detach(9) β Kernel API Manual
okay so bestie, welcome to the Kernel API Manual, and today's main character is genpd_dev_pm_detach(9). it's a tiny little void function that breaks up with power domains. no cap. let's get into it π«Ά
β¨ NAME β¨
genpd_dev_pm_detach β Detach a device from its PM domain. literally just "we're breaking up, it's not you it's the power management framework" π
πΈ SYNOPSIS πΈ
void genpd_dev_pm_detach (struct device *dev , bool power_off );
that's it. that's the whole signature. she's returning void, she gives nothing back, she's just here to detach and dip π
π ARGUMENTS π
devβ Device to detach. this is the one getting un-coupled from its PM domain, periodt.power_offβ Currently not used. yep, you read that right β it's sitting there in the signature looking pretty but doing absolutely nothing rn π not me pointing at an unused parameter π
π¦ DESCRIPTION π¦
so what does she actually do? she tries to locate the corresponding generic PM domain β the one that this device was attached to previously. iykyk, the whole "we used to be together" situation.
and if such a domain is found? the device is detached from it. that's the vibe check, that's the whole plot, that's the entire function. iconic, lowkey simple, highkey important π
no extra steps, no drama β find the domain, detach the device, done. she ate and left no crumbs β¨
π₯ SEE ALSO π₯
okay bestie, this list is long and she's serving main character energy in the references department. every single one, no skipping, fr fr:
- Kernel file
./drivers/pmdomain/core.c 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)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_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 β no notes, she's perfect π§
π sign-off time: this lil doc lives under./drivers/pmdomain, dated October 2026, and yes she's still calledgenpd_dev_pm_detach(9)at the bottom too. slay. π
π¦ 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