Lines Matching refs:enum_ctl
1041 int tplg_add_enum(snd_tplg_t *tplg, struct snd_tplg_enum_template *enum_ctl,
1049 tplg_dbg(" Control Enum: %s", enum_ctl->hdr.name);
1051 if (enum_ctl->hdr.type != SND_SOC_TPLG_TYPE_ENUM) {
1052 SNDERR("invalid enum type %d", enum_ctl->hdr.type);
1056 elem = tplg_elem_new_common(tplg, NULL, enum_ctl->hdr.name,
1063 ret = init_ctl_hdr(tplg, elem, &ec->hdr, &enum_ctl->hdr);
1069 num_items = enum_ctl->items < SND_SOC_TPLG_NUM_TEXTS ?
1070 enum_ctl->items : SND_SOC_TPLG_NUM_TEXTS;
1072 ec->mask = enum_ctl->mask;
1073 ec->count = enum_ctl->items;
1079 num_channels = enum_ctl->map ? enum_ctl->map->num_channels : 0;
1083 struct snd_tplg_channel_elem *channel = &enum_ctl->map->channel[i];
1091 if (enum_ctl->texts != NULL) {
1093 enum_ctl->hdr.name, SND_TPLG_TYPE_TEXT);
1097 if (!enum_ctl->texts[i])
1099 snd_strlcpy(ec->texts[i], enum_ctl->texts[i],
1101 snd_strlcpy(texts->texts->items[i], enum_ctl->texts[i],
1104 tplg_ref_add(elem, SND_TPLG_TYPE_TEXT, enum_ctl->hdr.name);
1107 if (enum_ctl->values != NULL) {
1109 if (enum_ctl->values[i] == NULL)
1113 enum_ctl->values[i],
1119 priv = enum_ctl->priv;
1204 return tplg_add_enum(tplg, t->enum_ctl, NULL);
1424 t.enum_ctl = &et;