Lines Matching defs:subdomain

268 	 * Also note that link->performance_state (subdomain's performance state
271 * of the devices/sub-domains of the subdomain) and so can have a
551 * (2) When the domain has a subdomain being powered on.
716 * genpd_power_off_work_fn - Power off PM domain whose subdomain count is 0.
1733 struct generic_pm_domain *subdomain)
1738 if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain)
1739 || genpd == subdomain)
1744 * context, ensure that the subdomain can also be
1747 if (!genpd_is_irq_safe(genpd) && genpd_is_irq_safe(subdomain)) {
1748 WARN(1, "Parent %s of subdomain %s must be IRQ safe\n",
1749 genpd->name, subdomain->name);
1757 genpd_lock(subdomain);
1760 if (!genpd_status_on(genpd) && genpd_status_on(subdomain)) {
1766 if (itr->child == subdomain && itr->parent == genpd) {
1774 link->child = subdomain;
1775 list_add_tail(&link->child_node, &subdomain->child_links);
1776 if (genpd_status_on(subdomain))
1781 genpd_unlock(subdomain);
1788 * pm_genpd_add_subdomain - Add a subdomain to an I/O PM domain.
1789 * @genpd: Leader PM domain to add the subdomain to.
1790 * @subdomain: Subdomain to be added.
1793 struct generic_pm_domain *subdomain)
1798 ret = genpd_add_subdomain(genpd, subdomain);
1806 * pm_genpd_remove_subdomain - Remove a subdomain from an I/O PM domain.
1807 * @genpd: Leader PM domain to remove the subdomain from.
1808 * @subdomain: Subdomain to be removed.
1811 struct generic_pm_domain *subdomain)
1816 if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain))
1819 genpd_lock(subdomain);
1822 if (!list_empty(&subdomain->parent_links) || subdomain->device_count) {
1823 pr_warn("%s: unable to remove subdomain %s\n",
1824 genpd->name, subdomain->name);
1830 if (link->child != subdomain)
1836 if (genpd_status_on(subdomain))
1845 genpd_unlock(subdomain);
2008 * - Removes the PM domain as a subdomain to any parent domains,
2397 * of_genpd_add_subdomain - Add a subdomain to an I/O PM domain.
2399 * @subdomain_spec: OF phandle args to use for subdomain look-up
2401 * Looks-up a parent PM domain and subdomain based upon phandle args
2402 * provided and adds the subdomain to the parent PM domain. Returns a
2408 struct generic_pm_domain *parent, *subdomain;
2419 subdomain = genpd_get_from_provider(subdomain_spec);
2420 if (IS_ERR(subdomain)) {
2421 ret = PTR_ERR(subdomain);
2425 ret = genpd_add_subdomain(parent, subdomain);
2435 * of_genpd_remove_subdomain - Remove a subdomain from an I/O PM domain.
2437 * @subdomain_spec: OF phandle args to use for subdomain look-up
2439 * Looks-up a parent PM domain and subdomain based upon phandle args
2440 * provided and removes the subdomain from the parent PM domain. Returns a
2446 struct generic_pm_domain *parent, *subdomain;
2457 subdomain = genpd_get_from_provider(subdomain_spec);
2458 if (IS_ERR(subdomain)) {
2459 ret = PTR_ERR(subdomain);
2463 ret = pm_genpd_remove_subdomain(parent, subdomain);