Lines Matching refs:dom
418 struct meson_ee_pwrc_domain *dom) in meson_ee_pwrc_init_domain() argument
422 dom->pwrc = pwrc; in meson_ee_pwrc_init_domain()
423 dom->num_rstc = dom->desc.reset_names_count; in meson_ee_pwrc_init_domain()
424 dom->num_clks = dom->desc.clk_names_count; in meson_ee_pwrc_init_domain()
426 if (dom->num_rstc) { in meson_ee_pwrc_init_domain()
429 if (count != dom->num_rstc) in meson_ee_pwrc_init_domain()
431 count, dom->desc.name); in meson_ee_pwrc_init_domain()
433 dom->rstc = devm_reset_control_array_get_exclusive(&pdev->dev); in meson_ee_pwrc_init_domain()
434 if (IS_ERR(dom->rstc)) in meson_ee_pwrc_init_domain()
435 return PTR_ERR(dom->rstc); in meson_ee_pwrc_init_domain()
438 if (dom->num_clks) { in meson_ee_pwrc_init_domain()
439 int ret = devm_clk_bulk_get_all(&pdev->dev, &dom->clks); in meson_ee_pwrc_init_domain()
443 if (dom->num_clks != ret) { in meson_ee_pwrc_init_domain()
445 ret, dom->desc.name); in meson_ee_pwrc_init_domain()
446 dom->num_clks = ret; in meson_ee_pwrc_init_domain()
450 dom->base.name = dom->desc.name; in meson_ee_pwrc_init_domain()
451 dom->base.power_on = meson_ee_pwrc_on; in meson_ee_pwrc_init_domain()
452 dom->base.power_off = meson_ee_pwrc_off; in meson_ee_pwrc_init_domain()
465 if (dom->num_clks && dom->desc.is_powered_off && !dom->desc.is_powered_off(dom)) { in meson_ee_pwrc_init_domain()
466 ret = clk_bulk_prepare_enable(dom->num_clks, dom->clks); in meson_ee_pwrc_init_domain()
470 dom->base.flags = GENPD_FLAG_ALWAYS_ON; in meson_ee_pwrc_init_domain()
471 ret = pm_genpd_init(&dom->base, NULL, false); in meson_ee_pwrc_init_domain()
475 ret = pm_genpd_init(&dom->base, NULL, in meson_ee_pwrc_init_domain()
476 (dom->desc.is_powered_off ? in meson_ee_pwrc_init_domain()
477 dom->desc.is_powered_off(dom) : true)); in meson_ee_pwrc_init_domain()
537 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i]; in meson_ee_pwrc_probe() local
539 memcpy(&dom->desc, &match->domains[i], sizeof(dom->desc)); in meson_ee_pwrc_probe()
541 ret = meson_ee_pwrc_init_domain(pdev, pwrc, dom); in meson_ee_pwrc_probe()
545 pwrc->xlate.domains[i] = &dom->base; in meson_ee_pwrc_probe()
557 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i]; in meson_ee_pwrc_shutdown() local
559 if (dom->desc.is_powered_off && !dom->desc.is_powered_off(dom)) in meson_ee_pwrc_shutdown()
560 meson_ee_pwrc_off(&dom->base); in meson_ee_pwrc_shutdown()