of_genpd_remove_subdomain(9)
β¨ of_genpd_remove_subdomain π
okay so bestie, welcome to the of_genpd_remove_subdomain(9) page β this is the Kernel API Manual moment, and we're gonna break it down together. no cap, this one's a little niche but it's literally serving "I know what I'm doing" energy. π
πΈ NAME πΈ
of_genpd_remove_subdomain β Remove a subdomain from an I/O PM domain. yeah. that's the whole vibe. it's giving "breakup but make it power management." πβ¨
π¦ SYNOPSIS π¦
here's the actual signature, and yes you need to look at it with your whole chest:
int of_genpd_remove_subdomain(const struct of_phandle_args *parent_spec
, const struct of_phandle_args *subdomain_spec);
it returns an int, bestie. remember that. it matters. π
π ARGUMENTS π
okay so there's two of them and they're both phandle-args situations, let's get into it:
parent_specβ the OF phandle args you use to look up the parent PM domain. like, this is the main character domain, the one doing the owning. πsubdomain_specβ the OF phandle args you use to look up the subdomain. this is the one getting removed from the parent. not me being dramatic but it's giving "you're not part of this family anymore" π
π DESCRIPTION π
so here's what's actually happening, fr fr:
it looks up a parent PM domain and a subdomain based on the phandle args you passed in, and then it removes the subdomain from the parent PM domain. that's it. that's the whole function. lowkey iconic.
and if something goes wrong? it returns a negative error code on failure. so like, check your return value, bestie. don't just ignore it. that's not the move. π
π₯ SEE ALSO π₯
okay this list is LONG and honestly it's a whole squad of related functions, so let me just lay them out for you because they all deserve their moment:
- Kernel file
./drivers/pmdomain/core.c
and then the whole friend group:
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_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. a whole squad. the way they all pulled up together is honestly kind of beautiful. π«Ά
that's the whole page, bestie! coded from ./drivers/pmdomain with love, and dated October 2026 β so you know it's fresh. now go remove that subdomain like the main character you are. π
β¨πΈ
π¦ 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