Lines Matching defs:pd
42 * @pd: generic_pm_domain for use with the genpd framework
49 struct generic_pm_domain pd;
54 #define genpd_to_ti_sci_pd(gpd) container_of(gpd, struct ti_sci_pm_domain, pd)
65 struct ti_sci_pm_domain *pd = genpd_to_ti_sci_pd(genpd);
66 const struct ti_sci_handle *ti_sci = pd->parent->ti_sci;
78 pd->idx, val);
85 struct ti_sci_pm_domain *pd = genpd_to_ti_sci_pd(genpd);
86 const struct ti_sci_handle *ti_sci = pd->parent->ti_sci;
99 ret = ti_sci->ops.pm_ops.set_device_constraint(ti_sci, pd->idx,
102 dev_dbg(dev, "ti_sci_pd: ID:%d set device constraint.\n", pd->idx);
112 struct ti_sci_pm_domain *pd = genpd_to_ti_sci_pd(domain);
113 const struct ti_sci_handle *ti_sci = pd->parent->ti_sci;
115 return ti_sci->ops.dev_ops.put_device(ti_sci, pd->idx);
124 struct ti_sci_pm_domain *pd = genpd_to_ti_sci_pd(domain);
125 const struct ti_sci_handle *ti_sci = pd->parent->ti_sci;
127 if (pd->exclusive)
129 pd->idx);
131 return ti_sci->ops.dev_ops.get_device(ti_sci, pd->idx);
193 struct ti_sci_pm_domain *pd;
195 list_for_each_entry(pd, &pd_provider->pd_list, node) {
196 if (pd->idx == idx)
207 struct ti_sci_pm_domain *pd;
244 pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
245 if (!pd)
248 pd->pd.name = devm_kasprintf(dev, GFP_KERNEL,
249 "pd:%d",
251 if (!pd->pd.name)
254 pd->pd.power_off = ti_sci_pd_power_off;
255 pd->pd.power_on = ti_sci_pd_power_on;
256 pd->pd.flags |= GENPD_FLAG_ACTIVE_WAKEUP;
257 pd->idx = args.args[0];
258 pd->parent = pd_provider;
265 pd->pd.domain.ops.suspend = ti_sci_pd_suspend;
267 pm_genpd_init(&pd->pd, NULL, true);
269 list_add(&pd->node, &pd_provider->pd_list);
288 list_for_each_entry(pd, &pd_provider->pd_list, node)
289 pd_provider->data.domains[pd->idx] = &pd->pd;