Lines Matching defs:dobj

360 	struct snd_soc_dobj *dobj, int pass)
364 container_of(dobj, struct soc_mixer_control, dobj);
370 if (dobj->ops && dobj->ops->control_unload)
371 dobj->ops->control_unload(comp, dobj);
373 if (dobj->control.kcontrol->tlv.p)
374 p = dobj->control.kcontrol->tlv.p;
375 snd_ctl_remove(card, dobj->control.kcontrol);
376 list_del(&dobj->list);
383 struct snd_soc_dobj *dobj, int pass)
386 struct soc_enum *se = container_of(dobj, struct soc_enum, dobj);
391 if (dobj->ops && dobj->ops->control_unload)
392 dobj->ops->control_unload(comp, dobj);
394 snd_ctl_remove(card, dobj->control.kcontrol);
395 list_del(&dobj->list);
404 struct snd_soc_dobj *dobj, int pass)
408 container_of(dobj, struct soc_bytes_ext, dobj);
413 if (dobj->ops && dobj->ops->control_unload)
414 dobj->ops->control_unload(comp, dobj);
416 snd_ctl_remove(card, dobj->control.kcontrol);
417 list_del(&dobj->list);
423 struct snd_soc_dobj *dobj, int pass)
426 container_of(dobj, struct snd_soc_dapm_route, dobj);
431 if (dobj->ops && dobj->ops->dapm_route_unload)
432 dobj->ops->dapm_route_unload(comp, dobj);
434 list_del(&dobj->list);
440 struct snd_soc_dobj *dobj, int pass)
444 container_of(dobj, struct snd_soc_dapm_widget, dobj);
450 if (dobj->ops && dobj->ops->widget_unload)
451 dobj->ops->widget_unload(comp, dobj);
460 if (dobj->widget.kcontrol_type == SND_SOC_TPLG_TYPE_ENUM) {
481 if (dobj->widget.kcontrol_type
498 list_del(&dobj->list);
505 struct snd_soc_dobj *dobj, int pass)
508 container_of(dobj, struct snd_soc_dai_driver, dobj);
514 if (dobj->ops && dobj->ops->dai_unload)
515 dobj->ops->dai_unload(comp, dobj);
524 list_del(&dobj->list);
530 struct snd_soc_dobj *dobj, int pass)
533 container_of(dobj, struct snd_soc_dai_link, dobj);
538 if (dobj->ops && dobj->ops->link_unload)
539 dobj->ops->link_unload(comp, dobj);
541 list_del(&dobj->list);
553 struct snd_soc_dobj *dobj, int pass)
558 if (dobj->ops && dobj->ops->link_unload)
559 dobj->ops->link_unload(comp, dobj);
564 * We however need to reset the dobj type to its initial values
566 dobj->type = SND_SOC_DOBJ_NONE;
567 list_del(&dobj->list);
794 sbe->dobj.type = SND_SOC_DOBJ_BYTES;
795 sbe->dobj.ops = tplg->ops;
796 INIT_LIST_HEAD(&sbe->dobj.list);
818 &sbe->dobj.control.kcontrol);
826 list_add(&sbe->dobj.list, &tplg->comp->dobj_list);
888 sm->dobj.index = tplg->index;
889 sm->dobj.ops = tplg->ops;
890 sm->dobj.type = SND_SOC_DOBJ_MIXER;
891 INIT_LIST_HEAD(&sm->dobj.list);
923 &sm->dobj.control.kcontrol);
932 list_add(&sm->dobj.list, &tplg->comp->dobj_list);
943 se->dobj.control.dtexts =
945 if (se->dobj.control.dtexts == NULL)
956 se->dobj.control.dtexts[i] = kstrdup(ec->texts[i], GFP_KERNEL);
957 if (!se->dobj.control.dtexts[i]) {
964 se->texts = (const char * const *)se->dobj.control.dtexts;
978 kfree(se->dobj.control.dtexts[i]);
979 kfree(se->dobj.control.dtexts);
990 se->dobj.control.dvalues = kzalloc(le32_to_cpu(ec->items) *
991 sizeof(*se->dobj.control.dvalues),
993 if (!se->dobj.control.dvalues)
998 se->dobj.control.dvalues[i] = le32_to_cpu(ec->values[i]);
1006 kfree(se->dobj.control.dvalues);
1058 se->dobj.index = tplg->index;
1059 se->dobj.type = SND_SOC_DOBJ_ENUM;
1060 se->dobj.ops = tplg->ops;
1061 INIT_LIST_HEAD(&se->dobj.list);
1111 &kc, &se->dobj.control.kcontrol);
1118 list_add(&se->dobj.list, &tplg->comp->dobj_list);
1271 /* add route dobj to dobj_list */
1272 routes[i]->dobj.type = SND_SOC_DOBJ_GRAPH;
1273 routes[i]->dobj.ops = tplg->ops;
1274 routes[i]->dobj.index = tplg->index;
1275 list_add(&routes[i]->dobj.list, &tplg->comp->dobj_list);
1364 sm->dobj.index = tplg->index;
1365 INIT_LIST_HEAD(&sm->dobj.list);
1450 se->dobj.index = tplg->index;
1554 INIT_LIST_HEAD(&sbe->dobj.list);
1630 template.dobj.index = tplg->index;
1713 widget->dobj.type = SND_SOC_DOBJ_WIDGET;
1714 widget->dobj.widget.kcontrol_type = kcontrol_type;
1715 widget->dobj.ops = tplg->ops;
1716 widget->dobj.index = tplg->index;
1717 list_add(&widget->dobj.list, &tplg->comp->dobj_list);
1874 dai_drv->dobj.index = tplg->index;
1875 dai_drv->dobj.ops = tplg->ops;
1876 dai_drv->dobj.type = SND_SOC_DOBJ_PCM;
1877 list_add(&dai_drv->dobj.list, &tplg->comp->dobj_list);
1949 link->dobj.index = tplg->index;
1950 link->dobj.ops = tplg->ops;
1951 link->dobj.type = SND_SOC_DOBJ_DAI_LINK;
1998 list_add(&link->dobj.list, &tplg->comp->dobj_list);
2364 link->dobj.index = tplg->index;
2365 link->dobj.ops = tplg->ops;
2366 link->dobj.type = SND_SOC_DOBJ_BACKEND_LINK;
2367 list_add(&link->dobj.list, &tplg->comp->dobj_list);
2843 if (w->dobj.type != SND_SOC_DOBJ_WIDGET)
2846 remove_widget(w->dapm->component, &w->dobj, SOC_TPLG_PASS_WIDGET);
2859 if (w->dobj.type != SND_SOC_DOBJ_WIDGET || w->dapm != dapm)
2863 if (w->dobj.index != index &&
2864 w->dobj.index != SND_SOC_TPLG_INDEX_ALL)
2878 struct snd_soc_dobj *dobj, *next_dobj;
2886 list_for_each_entry_safe(dobj, next_dobj, &comp->dobj_list,
2890 if (dobj->index != index &&
2894 switch (dobj->type) {
2896 remove_mixer(comp, dobj, pass);
2899 remove_enum(comp, dobj, pass);
2902 remove_bytes(comp, dobj, pass);
2905 remove_route(comp, dobj, pass);
2908 remove_widget(comp, dobj, pass);
2911 remove_dai(comp, dobj, pass);
2914 remove_link(comp, dobj, pass);
2921 remove_backend_link(comp, dobj, pass);
2925 dobj->type);