Lines Matching full:subdomain
383 * Also note that link->performance_state (subdomain's performance state in _genpd_reeval_performance_state()
386 * of the devices/sub-domains of the subdomain) and so can have a in _genpd_reeval_performance_state()
969 * The domain has a subdomain being powered on. in genpd_power_off()
1146 * genpd_power_off_work_fn - Power off PM domain whose subdomain count is 0.
2144 struct generic_pm_domain *subdomain) in genpd_add_subdomain() argument
2149 if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain) in genpd_add_subdomain()
2150 || genpd == subdomain) in genpd_add_subdomain()
2155 * context, ensure that the subdomain can also be in genpd_add_subdomain()
2158 if (!genpd_is_irq_safe(genpd) && genpd_is_irq_safe(subdomain)) { in genpd_add_subdomain()
2159 WARN(1, "Parent %s of subdomain %s must be IRQ safe\n", in genpd_add_subdomain()
2160 dev_name(&genpd->dev), subdomain->name); in genpd_add_subdomain()
2168 genpd_lock(subdomain); in genpd_add_subdomain()
2171 if (!genpd_status_on(genpd) && genpd_status_on(subdomain)) { in genpd_add_subdomain()
2177 if (itr->child == subdomain && itr->parent == genpd) { in genpd_add_subdomain()
2185 link->child = subdomain; in genpd_add_subdomain()
2186 list_add_tail(&link->child_node, &subdomain->child_links); in genpd_add_subdomain()
2187 if (genpd_status_on(subdomain)) in genpd_add_subdomain()
2192 genpd_unlock(subdomain); in genpd_add_subdomain()
2199 * pm_genpd_add_subdomain - Add a subdomain to an I/O PM domain.
2200 * @genpd: Leader PM domain to add the subdomain to.
2201 * @subdomain: Subdomain to be added.
2204 struct generic_pm_domain *subdomain) in pm_genpd_add_subdomain() argument
2209 ret = genpd_add_subdomain(genpd, subdomain); in pm_genpd_add_subdomain()
2217 * pm_genpd_remove_subdomain - Remove a subdomain from an I/O PM domain.
2218 * @genpd: Leader PM domain to remove the subdomain from.
2219 * @subdomain: Subdomain to be removed.
2222 struct generic_pm_domain *subdomain) in pm_genpd_remove_subdomain() argument
2227 if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain)) in pm_genpd_remove_subdomain()
2230 genpd_lock(subdomain); in pm_genpd_remove_subdomain()
2233 if (!list_empty(&subdomain->parent_links) || subdomain->device_count) { in pm_genpd_remove_subdomain()
2234 pr_warn("%s: unable to remove subdomain %s\n", in pm_genpd_remove_subdomain()
2235 dev_name(&genpd->dev), subdomain->name); in pm_genpd_remove_subdomain()
2241 if (link->child != subdomain) in pm_genpd_remove_subdomain()
2247 if (genpd_status_on(subdomain)) in pm_genpd_remove_subdomain()
2256 genpd_unlock(subdomain); in pm_genpd_remove_subdomain()
2508 * - Removes the PM domain as a subdomain to any parent domains,
2954 * of_genpd_add_subdomain - Add a subdomain to an I/O PM domain.
2956 * @subdomain_spec: OF phandle args to use for subdomain look-up
2958 * Looks-up a parent PM domain and subdomain based upon phandle args
2959 * provided and adds the subdomain to the parent PM domain. Returns a
2965 struct generic_pm_domain *parent, *subdomain; in of_genpd_add_subdomain() local
2976 subdomain = genpd_get_from_provider(subdomain_spec); in of_genpd_add_subdomain()
2977 if (IS_ERR(subdomain)) { in of_genpd_add_subdomain()
2978 ret = PTR_ERR(subdomain); in of_genpd_add_subdomain()
2982 ret = genpd_add_subdomain(parent, subdomain); in of_genpd_add_subdomain()
2992 * of_genpd_remove_subdomain - Remove a subdomain from an I/O PM domain.
2994 * @subdomain_spec: OF phandle args to use for subdomain look-up
2996 * Looks-up a parent PM domain and subdomain based upon phandle args
2997 * provided and removes the subdomain from the parent PM domain. Returns a
3003 struct generic_pm_domain *parent, *subdomain; in of_genpd_remove_subdomain() local
3014 subdomain = genpd_get_from_provider(subdomain_spec); in of_genpd_remove_subdomain()
3015 if (IS_ERR(subdomain)) { in of_genpd_remove_subdomain()
3016 ret = PTR_ERR(subdomain); in of_genpd_remove_subdomain()
3020 ret = pm_genpd_remove_subdomain(parent, subdomain); in of_genpd_remove_subdomain()