Lines Matching defs:ref
148 static int copy_tlv(struct tplg_elem *elem, struct tplg_elem *ref)
151 struct snd_soc_tplg_ctl_tlv *tlv = ref->tlv;
153 tplg_dbg("TLV '%s' used by '%s", ref->id, elem->id);
164 struct tplg_ref *ref;
170 /* for each ref in this control elem */
173 ref = list_entry(pos, struct tplg_ref, list);
174 if (ref->elem)
177 if (ref->type == SND_TPLG_TYPE_TLV) {
178 ref->elem = tplg_elem_lookup(&tplg->tlv_list,
179 ref->id, SND_TPLG_TYPE_TLV, elem->index);
180 if (ref->elem)
181 err = copy_tlv(elem, ref->elem);
183 } else if (ref->type == SND_TPLG_TYPE_DATA) {
184 err = tplg_copy_data(tplg, elem, ref);
189 if (!ref->elem) {
191 " control '%s'", ref->id, elem->id);
215 struct tplg_ref *ref;
223 ref = list_entry(pos, struct tplg_ref, list);
224 if (ref->elem)
227 if (ref->type == SND_TPLG_TYPE_TEXT) {
228 ref->elem = tplg_elem_lookup(&tplg->text_list,
229 ref->id, SND_TPLG_TYPE_TEXT, elem->index);
230 if (ref->elem)
231 copy_enum_texts(elem, ref->elem);
233 } else if (ref->type == SND_TPLG_TYPE_DATA) {
234 err = tplg_copy_data(tplg, elem, ref);
238 if (!ref->elem) {
240 " control '%s'", ref->id, elem->id);
251 struct tplg_ref *ref;
259 ref = list_entry(pos, struct tplg_ref, list);
260 if (ref->elem)
263 if (ref->type == SND_TPLG_TYPE_DATA) {
264 err = tplg_copy_data(tplg, elem, ref);