of_genpd_add_child_ids(9)
π of_genpd_add_child_ids(9) β like, the Kernel API Manual entry, but make it make sense π
okay bestie, so you know how this whole thing lives in of_genpd_add_child_ids(9)? yeah. that's the one. we're doing the genpd child-ids function today and honestly it's giving "quietly important" β¨
π NAME π
of_genpd_add_child_ids β it parses the power-domains-child-ids property, no cap π¦
β¨ SYNOPSIS β¨
int of_genpd_add_child_ids (struct device_node *np , struct genpd_onecell_data *data );
like literally that's the whole signature, she's compact π
πΈ ARGUMENTS πΈ
npβ a device node pointer that's associated with the PM domain provider. that's her whole job. she's the node. the provider's node. π§dataβ pointer to the onecell data that goes with the PM domain provider. also known as "the onecell data associated with the PM domain provider", because we said that already, and we're saying it again π
π₯ DESCRIPTION π₯
so what she actually does is parse the power-domains and power-domains-child-ids properties to establish parent-child relationships for PM domains. the way that works: power-domains lists the parent domains, and power-domains-child-ids lists which child domain IDs should be associated with each parent. matching them up, basically. cupid but for power domains π«Ά
and here's the part where she's a total main character β it's "all or nothing" semantics. either all the relationships get established successfully, or none of them do. if something errors out partway, any partially-added relationships get unwound. no half-finished situationships here, periodt. π
her return values, bestie, listen up:
- she returns the number of parent-child relationships established on success π
- she returns
0if the properties don't exist π - she returns a negative error code on failure π
π¦ SEE ALSO π¦
first off, the kernel file herself: ./drivers/pmdomain/core.c β that's home base π
and then, because genpd has a lot going on, here's the extended family:
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_remove_child_ids(9)(the opposite twin π),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, that's the whole group chat. iykyk π
and that's the page, bestie π source/version lives in ./drivers/pmdomain, dated October 2026, and the whole thing is filed under of_genpd_add_child_ids(9). slay. go forth and parse those child IDs responsibly πβ¨π
π¦ 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