Lines Matching full:pds
198 struct dev_pm_domain_list *pds; in dev_pm_domain_attach_list() local
225 pds = kzalloc(sizeof(*pds), GFP_KERNEL); in dev_pm_domain_attach_list()
226 if (!pds) in dev_pm_domain_attach_list()
229 size = sizeof(*pds->pd_devs) + sizeof(*pds->pd_links) + in dev_pm_domain_attach_list()
230 sizeof(*pds->opp_tokens); in dev_pm_domain_attach_list()
231 pds->pd_devs = kcalloc(num_pds, size, GFP_KERNEL); in dev_pm_domain_attach_list()
232 if (!pds->pd_devs) { in dev_pm_domain_attach_list()
236 pds->pd_links = (void *)(pds->pd_devs + num_pds); in dev_pm_domain_attach_list()
237 pds->opp_tokens = (void *)(pds->pd_links + num_pds); in dev_pm_domain_attach_list()
263 pds->opp_tokens[i] = ret; in dev_pm_domain_attach_list()
275 pds->pd_links[i] = link; in dev_pm_domain_attach_list()
278 pds->pd_devs[i] = pd_dev; in dev_pm_domain_attach_list()
281 pds->num_pds = num_pds; in dev_pm_domain_attach_list()
282 *list = pds; in dev_pm_domain_attach_list()
286 dev_pm_opp_clear_config(pds->opp_tokens[i]); in dev_pm_domain_attach_list()
290 dev_pm_opp_clear_config(pds->opp_tokens[i]); in dev_pm_domain_attach_list()
291 if (pds->pd_links[i]) in dev_pm_domain_attach_list()
292 device_link_del(pds->pd_links[i]); in dev_pm_domain_attach_list()
293 dev_pm_domain_detach(pds->pd_devs[i], true); in dev_pm_domain_attach_list()
295 kfree(pds->pd_devs); in dev_pm_domain_attach_list()
297 kfree(pds); in dev_pm_domain_attach_list()