Lines Matching refs:dobj

386 	struct snd_soc_dobj *dobj, int pass)  in remove_mixer()  argument
390 container_of(dobj, struct soc_mixer_control, dobj); in remove_mixer()
396 if (dobj->ops && dobj->ops->control_unload) in remove_mixer()
397 dobj->ops->control_unload(comp, dobj); in remove_mixer()
399 if (sm->dobj.control.kcontrol->tlv.p) in remove_mixer()
400 p = sm->dobj.control.kcontrol->tlv.p; in remove_mixer()
401 snd_ctl_remove(card, sm->dobj.control.kcontrol); in remove_mixer()
402 list_del(&sm->dobj.list); in remove_mixer()
409 struct snd_soc_dobj *dobj, int pass) in remove_enum() argument
412 struct soc_enum *se = container_of(dobj, struct soc_enum, dobj); in remove_enum()
418 if (dobj->ops && dobj->ops->control_unload) in remove_enum()
419 dobj->ops->control_unload(comp, dobj); in remove_enum()
421 snd_ctl_remove(card, se->dobj.control.kcontrol); in remove_enum()
422 list_del(&se->dobj.list); in remove_enum()
424 kfree(se->dobj.control.dvalues); in remove_enum()
426 kfree(se->dobj.control.dtexts[i]); in remove_enum()
432 struct snd_soc_dobj *dobj, int pass) in remove_bytes() argument
436 container_of(dobj, struct soc_bytes_ext, dobj); in remove_bytes()
441 if (dobj->ops && dobj->ops->control_unload) in remove_bytes()
442 dobj->ops->control_unload(comp, dobj); in remove_bytes()
444 snd_ctl_remove(card, sb->dobj.control.kcontrol); in remove_bytes()
445 list_del(&sb->dobj.list); in remove_bytes()
451 struct snd_soc_dobj *dobj, int pass) in remove_widget() argument
455 container_of(dobj, struct snd_soc_dapm_widget, dobj); in remove_widget()
461 if (dobj->ops && dobj->ops->widget_unload) in remove_widget()
462 dobj->ops->widget_unload(comp, dobj); in remove_widget()
468 if (dobj->widget.kcontrol_enum) { in remove_widget()
475 kfree(se->dobj.control.dvalues); in remove_widget()
477 kfree(se->dobj.control.dtexts[i]); in remove_widget()
500 struct snd_soc_dobj *dobj, int pass) in remove_pcm_dai() argument
505 if (dobj->ops && dobj->ops->pcm_dai_unload) in remove_pcm_dai()
506 dobj->ops->pcm_dai_unload(comp, dobj); in remove_pcm_dai()
508 list_del(&dobj->list); in remove_pcm_dai()
509 kfree(dobj); in remove_pcm_dai()
718 sbe->dobj.type = SND_SOC_DOBJ_BYTES; in soc_tplg_dbytes_create()
719 sbe->dobj.ops = tplg->ops; in soc_tplg_dbytes_create()
720 INIT_LIST_HEAD(&sbe->dobj.list); in soc_tplg_dbytes_create()
742 &sbe->dobj.control.kcontrol); in soc_tplg_dbytes_create()
750 list_add(&sbe->dobj.list, &tplg->comp->dobj_list); in soc_tplg_dbytes_create()
811 sm->dobj.index = tplg->index; in soc_tplg_dmixer_create()
812 sm->dobj.ops = tplg->ops; in soc_tplg_dmixer_create()
813 sm->dobj.type = SND_SOC_DOBJ_MIXER; in soc_tplg_dmixer_create()
814 INIT_LIST_HEAD(&sm->dobj.list); in soc_tplg_dmixer_create()
839 &sm->dobj.control.kcontrol); in soc_tplg_dmixer_create()
848 list_add(&sm->dobj.list, &tplg->comp->dobj_list); in soc_tplg_dmixer_create()
859 se->dobj.control.dtexts = in soc_tplg_denum_create_texts()
861 if (se->dobj.control.dtexts == NULL) in soc_tplg_denum_create_texts()
872 se->dobj.control.dtexts[i] = kstrdup(ec->texts[i], GFP_KERNEL); in soc_tplg_denum_create_texts()
873 if (!se->dobj.control.dtexts[i]) { in soc_tplg_denum_create_texts()
883 kfree(se->dobj.control.dtexts[i]); in soc_tplg_denum_create_texts()
884 kfree(se->dobj.control.dtexts); in soc_tplg_denum_create_texts()
894 se->dobj.control.dvalues = kmemdup(ec->values, in soc_tplg_denum_create_values()
897 if (!se->dobj.control.dvalues) in soc_tplg_denum_create_values()
951 se->dobj.index = tplg->index; in soc_tplg_denum_create()
952 se->dobj.type = SND_SOC_DOBJ_ENUM; in soc_tplg_denum_create()
953 se->dobj.ops = tplg->ops; in soc_tplg_denum_create()
954 INIT_LIST_HEAD(&se->dobj.list); in soc_tplg_denum_create()
1008 &kc, &se->dobj.control.kcontrol); in soc_tplg_denum_create()
1016 list_add(&se->dobj.list, &tplg->comp->dobj_list); in soc_tplg_denum_create()
1171 sm->dobj.index = tplg->index; in soc_tplg_dapm_widget_dmixer_create()
1172 INIT_LIST_HEAD(&sm->dobj.list); in soc_tplg_dapm_widget_dmixer_create()
1243 se->dobj.index = tplg->index; in soc_tplg_dapm_widget_denum_create()
1291 kfree(se->dobj.control.dvalues); in soc_tplg_dapm_widget_denum_create()
1293 kfree(se->dobj.control.dtexts[i]); in soc_tplg_dapm_widget_denum_create()
1339 INIT_LIST_HEAD(&sbe->dobj.list); in soc_tplg_dapm_widget_dbytes_create()
1412 template.dobj.index = tplg->index; in soc_tplg_dapm_widget_create()
1446 template.dobj.widget.kcontrol_enum = 1; in soc_tplg_dapm_widget_create()
1490 widget->dobj.type = SND_SOC_DOBJ_WIDGET; in soc_tplg_dapm_widget_create()
1491 widget->dobj.ops = tplg->ops; in soc_tplg_dapm_widget_create()
1492 widget->dobj.index = tplg->index; in soc_tplg_dapm_widget_create()
1493 list_add(&widget->dobj.list, &tplg->comp->dobj_list); in soc_tplg_dapm_widget_create()
1551 struct snd_soc_dobj *dobj; in soc_tplg_pcm_dai_elems_load() local
1571 dobj = kzalloc(sizeof(struct snd_soc_dobj), GFP_KERNEL); in soc_tplg_pcm_dai_elems_load()
1572 if (dobj == NULL) in soc_tplg_pcm_dai_elems_load()
1582 dobj->type = get_dobj_type(hdr, NULL); in soc_tplg_pcm_dai_elems_load()
1583 dobj->pcm_dai.count = count; in soc_tplg_pcm_dai_elems_load()
1584 dobj->pcm_dai.pd = pcm_dai; in soc_tplg_pcm_dai_elems_load()
1585 dobj->ops = tplg->ops; in soc_tplg_pcm_dai_elems_load()
1586 dobj->index = tplg->index; in soc_tplg_pcm_dai_elems_load()
1587 list_add(&dobj->list, &tplg->comp->dobj_list); in soc_tplg_pcm_dai_elems_load()
1591 kfree(dobj); in soc_tplg_pcm_dai_elems_load()
1781 if (w->dobj.type != SND_SOC_DOBJ_WIDGET) in snd_soc_tplg_widget_remove()
1784 remove_widget(w->dapm->component, &w->dobj, SOC_TPLG_PASS_WIDGET); in snd_soc_tplg_widget_remove()
1797 if (w->dobj.type != SND_SOC_DOBJ_WIDGET || w->dapm != dapm) in snd_soc_tplg_widget_remove_all()
1801 if (w->dobj.index != index && in snd_soc_tplg_widget_remove_all()
1802 w->dobj.index != SND_SOC_TPLG_INDEX_ALL) in snd_soc_tplg_widget_remove_all()
1815 struct snd_soc_dobj *dobj, *next_dobj; in snd_soc_tplg_component_remove() local
1822 list_for_each_entry_safe(dobj, next_dobj, &comp->dobj_list, in snd_soc_tplg_component_remove()
1826 if (dobj->index != index && in snd_soc_tplg_component_remove()
1827 dobj->index != SND_SOC_TPLG_INDEX_ALL) in snd_soc_tplg_component_remove()
1830 switch (dobj->type) { in snd_soc_tplg_component_remove()
1832 remove_mixer(comp, dobj, pass); in snd_soc_tplg_component_remove()
1835 remove_enum(comp, dobj, pass); in snd_soc_tplg_component_remove()
1838 remove_bytes(comp, dobj, pass); in snd_soc_tplg_component_remove()
1841 remove_widget(comp, dobj, pass); in snd_soc_tplg_component_remove()
1846 remove_pcm_dai(comp, dobj, pass); in snd_soc_tplg_component_remove()
1850 dobj->type); in snd_soc_tplg_component_remove()