Lines Matching full:subdomain
285 * Also note that link->performance_state (subdomain's performance state in _genpd_reeval_performance_state()
288 * of the devices/sub-domains of the subdomain) and so can have a in _genpd_reeval_performance_state()
688 * (2) When the domain has a subdomain being powered on. in genpd_power_off()
861 * genpd_power_off_work_fn - Power off PM domain whose subdomain count is 0.
1844 struct generic_pm_domain *subdomain) in genpd_add_subdomain() argument
1849 if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain) in genpd_add_subdomain()
1850 || genpd == subdomain) in genpd_add_subdomain()
1855 * context, ensure that the subdomain can also be in genpd_add_subdomain()
1858 if (!genpd_is_irq_safe(genpd) && genpd_is_irq_safe(subdomain)) { in genpd_add_subdomain()
1859 WARN(1, "Parent %s of subdomain %s must be IRQ safe\n", in genpd_add_subdomain()
1860 genpd->name, subdomain->name); in genpd_add_subdomain()
1868 genpd_lock(subdomain); in genpd_add_subdomain()
1871 if (!genpd_status_on(genpd) && genpd_status_on(subdomain)) { in genpd_add_subdomain()
1877 if (itr->child == subdomain && itr->parent == genpd) { in genpd_add_subdomain()
1885 link->child = subdomain; in genpd_add_subdomain()
1886 list_add_tail(&link->child_node, &subdomain->child_links); in genpd_add_subdomain()
1887 if (genpd_status_on(subdomain)) in genpd_add_subdomain()
1892 genpd_unlock(subdomain); in genpd_add_subdomain()
1899 * pm_genpd_add_subdomain - Add a subdomain to an I/O PM domain.
1900 * @genpd: Leader PM domain to add the subdomain to.
1901 * @subdomain: Subdomain to be added.
1904 struct generic_pm_domain *subdomain) in pm_genpd_add_subdomain() argument
1909 ret = genpd_add_subdomain(genpd, subdomain); in pm_genpd_add_subdomain()
1917 * pm_genpd_remove_subdomain - Remove a subdomain from an I/O PM domain.
1918 * @genpd: Leader PM domain to remove the subdomain from.
1919 * @subdomain: Subdomain to be removed.
1922 struct generic_pm_domain *subdomain) in pm_genpd_remove_subdomain() argument
1927 if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain)) in pm_genpd_remove_subdomain()
1930 genpd_lock(subdomain); in pm_genpd_remove_subdomain()
1933 if (!list_empty(&subdomain->parent_links) || subdomain->device_count) { in pm_genpd_remove_subdomain()
1934 pr_warn("%s: unable to remove subdomain %s\n", in pm_genpd_remove_subdomain()
1935 genpd->name, subdomain->name); in pm_genpd_remove_subdomain()
1941 if (link->child != subdomain) in pm_genpd_remove_subdomain()
1947 if (genpd_status_on(subdomain)) in pm_genpd_remove_subdomain()
1956 genpd_unlock(subdomain); in pm_genpd_remove_subdomain()
2162 * - Removes the PM domain as a subdomain to any parent domains,
2547 * of_genpd_add_subdomain - Add a subdomain to an I/O PM domain.
2549 * @subdomain_spec: OF phandle args to use for subdomain look-up
2551 * Looks-up a parent PM domain and subdomain based upon phandle args
2552 * provided and adds the subdomain to the parent PM domain. Returns a
2558 struct generic_pm_domain *parent, *subdomain; in of_genpd_add_subdomain() local
2569 subdomain = genpd_get_from_provider(subdomain_spec); in of_genpd_add_subdomain()
2570 if (IS_ERR(subdomain)) { in of_genpd_add_subdomain()
2571 ret = PTR_ERR(subdomain); in of_genpd_add_subdomain()
2575 ret = genpd_add_subdomain(parent, subdomain); in of_genpd_add_subdomain()
2585 * of_genpd_remove_subdomain - Remove a subdomain from an I/O PM domain.
2587 * @subdomain_spec: OF phandle args to use for subdomain look-up
2589 * Looks-up a parent PM domain and subdomain based upon phandle args
2590 * provided and removes the subdomain from the parent PM domain. Returns a
2596 struct generic_pm_domain *parent, *subdomain; in of_genpd_remove_subdomain() local
2607 subdomain = genpd_get_from_provider(subdomain_spec); in of_genpd_remove_subdomain()
2608 if (IS_ERR(subdomain)) { in of_genpd_remove_subdomain()
2609 ret = PTR_ERR(subdomain); in of_genpd_remove_subdomain()
2613 ret = pm_genpd_remove_subdomain(parent, subdomain); in of_genpd_remove_subdomain()