Lines Matching refs:pwrc
23 struct meson_secure_pwrc *pwrc;
48 if (meson_sm_call(pwrc_domain->pwrc->fw, SM_A1_PWRC_GET, &is_off,
61 if (meson_sm_call(pwrc_domain->pwrc->fw, SM_A1_PWRC_SET, NULL,
76 if (meson_sm_call(pwrc_domain->pwrc->fw, SM_A1_PWRC_SET, NULL,
125 struct meson_secure_pwrc *pwrc;
140 pwrc = devm_kzalloc(&pdev->dev, sizeof(*pwrc), GFP_KERNEL);
141 if (!pwrc) {
146 pwrc->fw = meson_sm_get(sm_np);
148 if (!pwrc->fw)
151 pwrc->xlate.domains = devm_kcalloc(&pdev->dev, match->count,
152 sizeof(*pwrc->xlate.domains),
154 if (!pwrc->xlate.domains)
157 pwrc->domains = devm_kcalloc(&pdev->dev, match->count,
158 sizeof(*pwrc->domains), GFP_KERNEL);
159 if (!pwrc->domains)
162 pwrc->xlate.num_domains = match->count;
163 platform_set_drvdata(pdev, pwrc);
166 struct meson_secure_pwrc_domain *dom = &pwrc->domains[i];
171 dom->pwrc = pwrc;
180 pwrc->xlate.domains[i] = &dom->base;
183 return of_genpd_add_provider_onecell(pdev->dev.of_node, &pwrc->xlate);
193 .compatible = "amlogic,meson-a1-pwrc",