Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: EXYNOS: Remove calls to of_genpd_get_from_provider()

Update the EXYNOS PM domain code to use the of_genpd_add_subdomain()
and remove any calls to of_genpd_get_from_provider().

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Jon Hunter and committed by
Rafael J. Wysocki
8d68c371 ec69572b

+8 -15
+8 -15
drivers/soc/samsung/pm_domains.c
··· 215 215 216 216 /* Assign the child power domains to their parents */ 217 217 for_each_matching_node(np, exynos_pm_domain_of_match) { 218 - struct generic_pm_domain *child_domain, *parent_domain; 219 - struct of_phandle_args args; 218 + struct of_phandle_args child, parent; 220 219 221 - args.np = np; 222 - args.args_count = 0; 223 - child_domain = of_genpd_get_from_provider(&args); 224 - if (IS_ERR(child_domain)) 225 - continue; 220 + child.np = np; 221 + child.args_count = 0; 226 222 227 223 if (of_parse_phandle_with_args(np, "power-domains", 228 - "#power-domain-cells", 0, &args) != 0) 224 + "#power-domain-cells", 0, 225 + &parent) != 0) 229 226 continue; 230 227 231 - parent_domain = of_genpd_get_from_provider(&args); 232 - if (IS_ERR(parent_domain)) 233 - continue; 234 - 235 - if (pm_genpd_add_subdomain(parent_domain, child_domain)) 228 + if (of_genpd_add_subdomain(&parent, &child)) 236 229 pr_warn("%s failed to add subdomain: %s\n", 237 - parent_domain->name, child_domain->name); 230 + parent.np->name, child.np->name); 238 231 else 239 232 pr_info("%s has as child subdomain: %s.\n", 240 - parent_domain->name, child_domain->name); 233 + parent.np->name, child.np->name); 241 234 } 242 235 243 236 return 0;