Lines Matching refs:se
412 struct soc_enum *se = container_of(dobj, struct soc_enum, dobj); in remove_enum() local
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()
425 for (i = 0; i < se->items; i++) in remove_enum()
426 kfree(se->dobj.control.dtexts[i]); in remove_enum()
427 kfree(se); in remove_enum()
470 struct soc_enum *se = in remove_widget() local
475 kfree(se->dobj.control.dvalues); in remove_widget()
476 for (i = 0; i < se->items; i++) in remove_widget()
477 kfree(se->dobj.control.dtexts[i]); in remove_widget()
479 kfree(se); in remove_widget()
854 static int soc_tplg_denum_create_texts(struct soc_enum *se, in soc_tplg_denum_create_texts() argument
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()
888 static int soc_tplg_denum_create_values(struct soc_enum *se, in soc_tplg_denum_create_values() argument
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()
907 struct soc_enum *se; in soc_tplg_denum_create() local
930 se = kzalloc((sizeof(*se)), GFP_KERNEL); in soc_tplg_denum_create()
931 if (se == NULL) in soc_tplg_denum_create()
939 kc.private_value = (long)se; in soc_tplg_denum_create()
943 se->reg = tplc_chan_get_reg(tplg, ec->channel, SNDRV_CHMAP_FL); in soc_tplg_denum_create()
944 se->shift_l = tplc_chan_get_shift(tplg, ec->channel, in soc_tplg_denum_create()
946 se->shift_r = tplc_chan_get_shift(tplg, ec->channel, in soc_tplg_denum_create()
949 se->items = ec->items; in soc_tplg_denum_create()
950 se->mask = ec->mask; in soc_tplg_denum_create()
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()
959 err = soc_tplg_denum_create_values(se, ec); in soc_tplg_denum_create()
964 kfree(se); in soc_tplg_denum_create()
971 err = soc_tplg_denum_create_texts(se, ec); in soc_tplg_denum_create()
976 kfree(se); in soc_tplg_denum_create()
984 kfree(se); in soc_tplg_denum_create()
992 kfree(se); in soc_tplg_denum_create()
1002 kfree(se); in soc_tplg_denum_create()
1008 &kc, &se->dobj.control.kcontrol); in soc_tplg_denum_create()
1012 kfree(se); in soc_tplg_denum_create()
1016 list_add(&se->dobj.list, &tplg->comp->dobj_list); in soc_tplg_denum_create()
1208 struct soc_enum *se; in soc_tplg_dapm_widget_denum_create() local
1224 se = kzalloc(sizeof(*se), GFP_KERNEL); in soc_tplg_dapm_widget_denum_create()
1225 if (se == NULL) in soc_tplg_dapm_widget_denum_create()
1232 kc->private_value = (long)se; in soc_tplg_dapm_widget_denum_create()
1237 se->reg = tplc_chan_get_reg(tplg, ec->channel, SNDRV_CHMAP_FL); in soc_tplg_dapm_widget_denum_create()
1238 se->shift_l = tplc_chan_get_shift(tplg, ec->channel, SNDRV_CHMAP_FL); in soc_tplg_dapm_widget_denum_create()
1239 se->shift_r = tplc_chan_get_shift(tplg, ec->channel, SNDRV_CHMAP_FR); in soc_tplg_dapm_widget_denum_create()
1241 se->items = ec->items; in soc_tplg_dapm_widget_denum_create()
1242 se->mask = ec->mask; in soc_tplg_dapm_widget_denum_create()
1243 se->dobj.index = tplg->index; in soc_tplg_dapm_widget_denum_create()
1248 err = soc_tplg_denum_create_values(se, ec); in soc_tplg_dapm_widget_denum_create()
1258 err = soc_tplg_denum_create_texts(se, ec); 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()
1295 kfree(se); in soc_tplg_dapm_widget_denum_create()