Lines Matching refs:cont
121 struct audioreach_container *cont; in audioreach_tplg_alloc_container() local
128 cont = idr_find(&apm->containers_idr, container_id); in audioreach_tplg_alloc_container()
131 if (cont) { in audioreach_tplg_alloc_container()
133 return cont; in audioreach_tplg_alloc_container()
137 cont = kzalloc(sizeof(*cont), GFP_KERNEL); in audioreach_tplg_alloc_container()
138 if (!cont) in audioreach_tplg_alloc_container()
141 INIT_LIST_HEAD(&cont->modules_list); in audioreach_tplg_alloc_container()
144 ret = idr_alloc_u32(&apm->containers_idr, cont, &container_id, container_id, GFP_KERNEL); in audioreach_tplg_alloc_container()
149 kfree(cont); in audioreach_tplg_alloc_container()
153 cont->container_id = container_id; in audioreach_tplg_alloc_container()
154 cont->sub_graph = sg; in audioreach_tplg_alloc_container()
156 list_add_tail(&cont->node, &sg->container_list); in audioreach_tplg_alloc_container()
159 return cont; in audioreach_tplg_alloc_container()
163 struct audioreach_container *cont, in audioreach_tplg_alloc_module() argument
201 list_add_tail(&mod->node, &cont->modules_list); in audioreach_tplg_alloc_module()
202 mod->container = cont; in audioreach_tplg_alloc_module()
204 cont->num_modules++; in audioreach_tplg_alloc_module()
371 struct audioreach_container *cont; in audioreach_parse_cont_tokens() local
382 cont = audioreach_tplg_alloc_container(apm, sg, container_id, &found); in audioreach_parse_cont_tokens()
383 if (IS_ERR(cont) || found)/* Error or Already parsed container data */ in audioreach_parse_cont_tokens()
384 return cont; in audioreach_parse_cont_tokens()
387 cont->capability_id = le32_to_cpu(cont_elem->value); in audioreach_parse_cont_tokens()
390 cont->stack_size = le32_to_cpu(cont_elem->value); in audioreach_parse_cont_tokens()
393 cont->graph_pos = le32_to_cpu(cont_elem->value); in audioreach_parse_cont_tokens()
396 cont->proc_domain = le32_to_cpu(cont_elem->value); in audioreach_parse_cont_tokens()
407 return cont; in audioreach_parse_cont_tokens()
411 struct audioreach_container *cont, in audioreach_parse_common_tokens() argument
441 mod = audioreach_tplg_alloc_module(apm, cont, w, in audioreach_parse_common_tokens()
576 struct audioreach_container *cont; in audioreach_widget_load_module_common() local
585 cont = audioreach_parse_cont_tokens(apm, sg, &tplg_w->priv); in audioreach_widget_load_module_common()
586 if (IS_ERR(cont)) in audioreach_widget_load_module_common()
587 return PTR_ERR(cont); in audioreach_widget_load_module_common()
589 mod = audioreach_parse_common_tokens(apm, cont, &tplg_w->priv, w); in audioreach_widget_load_module_common()
930 struct audioreach_container *cont; in audioreach_widget_unload() local
934 cont = mod->container; in audioreach_widget_unload()
947 cont->num_modules--; in audioreach_widget_unload()
952 if (list_empty(&cont->modules_list)) { /* if no modules in the container then remove it */ in audioreach_widget_unload()
953 struct audioreach_sub_graph *sg = cont->sub_graph; in audioreach_widget_unload()
955 idr_remove(&apm->containers_idr, cont->container_id); in audioreach_widget_unload()
956 list_del(&cont->node); in audioreach_widget_unload()
958 kfree(cont); in audioreach_widget_unload()