Lines Matching refs:domain
129 static int imx_pgc_get_clocks(struct device *dev, struct imx_pm_domain *domain) in imx_pgc_get_clocks() argument
142 domain->clk[i] = clk; in imx_pgc_get_clocks()
144 domain->num_clks = i; in imx_pgc_get_clocks()
150 clk_put(domain->clk[i]); in imx_pgc_get_clocks()
155 static void imx_pgc_put_clocks(struct imx_pm_domain *domain) in imx_pgc_put_clocks() argument
159 for (i = domain->num_clks - 1; i >= 0; i--) in imx_pgc_put_clocks()
160 clk_put(domain->clk[i]); in imx_pgc_put_clocks()
163 static int imx_pgc_parse_dt(struct device *dev, struct imx_pm_domain *domain) in imx_pgc_parse_dt() argument
166 domain->supply = devm_regulator_get_optional(dev, "power"); in imx_pgc_parse_dt()
167 if (IS_ERR(domain->supply)) { in imx_pgc_parse_dt()
168 if (PTR_ERR(domain->supply) == -ENODEV) in imx_pgc_parse_dt()
169 domain->supply = NULL; in imx_pgc_parse_dt()
171 return PTR_ERR(domain->supply); in imx_pgc_parse_dt()
175 return imx_pgc_get_clocks(dev, domain); in imx_pgc_parse_dt()
180 struct imx_pm_domain *domain = pdev->dev.platform_data; in imx_pgc_power_domain_probe() local
186 ret = imx_pgc_parse_dt(dev, domain); in imx_pgc_power_domain_probe()
192 if (domain->base.power_on) in imx_pgc_power_domain_probe()
193 domain->base.power_on(&domain->base); in imx_pgc_power_domain_probe()
196 pm_genpd_init(&domain->base, NULL, false); in imx_pgc_power_domain_probe()
197 ret = of_genpd_add_provider_simple(dev->of_node, &domain->base); in imx_pgc_power_domain_probe()
207 pm_genpd_remove(&domain->base); in imx_pgc_power_domain_probe()
208 imx_pgc_put_clocks(domain); in imx_pgc_power_domain_probe()
215 struct imx_pm_domain *domain = pdev->dev.platform_data; in imx_pgc_power_domain_remove() local
219 pm_genpd_remove(&domain->base); in imx_pgc_power_domain_remove()
220 imx_pgc_put_clocks(domain); in imx_pgc_power_domain_remove()
361 struct imx_pm_domain *domain; in imx_gpc_old_dt_init() local
365 domain = &imx_gpc_domains[i]; in imx_gpc_old_dt_init()
366 domain->regmap = regmap; in imx_gpc_old_dt_init()
367 domain->ipg_rate_mhz = 66; in imx_gpc_old_dt_init()
370 domain->supply = devm_regulator_get(dev, "pu"); in imx_gpc_old_dt_init()
371 if (IS_ERR(domain->supply)) in imx_gpc_old_dt_init()
372 return PTR_ERR(domain->supply); in imx_gpc_old_dt_init()
374 ret = imx_pgc_get_clocks(dev, domain); in imx_gpc_old_dt_init()
378 domain->base.power_on(&domain->base); in imx_gpc_old_dt_init()
457 struct imx_pm_domain *domain; in imx_gpc_probe() local
493 domain = pd_pdev->dev.platform_data; in imx_gpc_probe()
494 domain->regmap = regmap; in imx_gpc_probe()
495 domain->ipg_rate_mhz = ipg_rate_mhz; in imx_gpc_probe()