Lines Matching defs:pmd
75 static int jh71xx_pmu_get_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool *is_on)
77 struct jh71xx_pmu *pmu = pmd->pmu;
87 static int jh71xx_pmu_set_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool on)
89 struct jh71xx_pmu *pmu = pmd->pmu;
98 ret = jh71xx_pmu_get_state(pmd, mask, &is_on);
101 pmd->genpd.name);
107 pmd->genpd.name, on ? "en" : "dis");
162 pmd->genpd.name, on ? "on" : "off");
171 struct jh71xx_pmu_dev *pmd = container_of(genpd,
173 u32 pwr_mask = BIT(pmd->domain_info->bit);
175 return jh71xx_pmu_set_state(pmd, pwr_mask, true);
180 struct jh71xx_pmu_dev *pmd = container_of(genpd,
182 u32 pwr_mask = BIT(pmd->domain_info->bit);
184 return jh71xx_pmu_set_state(pmd, pwr_mask, false);
231 struct jh71xx_pmu_dev *pmd;
236 pmd = devm_kzalloc(pmu->dev, sizeof(*pmd), GFP_KERNEL);
237 if (!pmd)
240 pmd->domain_info = &pmu->match_data->domain_info[index];
241 pmd->pmu = pmu;
242 pwr_mask = BIT(pmd->domain_info->bit);
244 pmd->genpd.name = pmd->domain_info->name;
245 pmd->genpd.flags = pmd->domain_info->flags;
247 ret = jh71xx_pmu_get_state(pmd, pwr_mask, &is_on);
250 pmd->genpd.name);
252 pmd->genpd.power_on = jh71xx_pmu_on;
253 pmd->genpd.power_off = jh71xx_pmu_off;
254 pm_genpd_init(&pmd->genpd, NULL, !is_on);
256 pmu->genpd_data.domains[index] = &pmd->genpd;