Lines Matching full:widget

157 /* mapping of widget types from UAPI IDs to kernel IDs */
255 /* optionally pass new dynamic widget to component driver. This is mainly for
267 /* optionally pass new dynamic widget to component driver. This is mainly for
373 /* remove a widget and it's kcontrols - routes must be removed first */
394 /* widget w is freed by soc-dapm.c */ in soc_tplg_remove_widget()
1098 struct snd_soc_dapm_widget template, *widget; in soc_tplg_dapm_widget_create() local
1116 dev_dbg(tplg->dev, "ASoC: creating DAPM widget %s id %d\n", in soc_tplg_dapm_widget_create()
1121 /* map user to kernel widget ID */ in soc_tplg_dapm_widget_create()
1126 /* strings are allocated here, but used and freed by the widget */ in soc_tplg_dapm_widget_create()
1151 goto widget; in soc_tplg_dapm_widget_create()
1200 dev_err(tplg->dev, "ASoC: invalid widget control type %d:%d:%d\n", in soc_tplg_dapm_widget_create()
1212 widget: in soc_tplg_dapm_widget_create()
1220 widget = snd_soc_dapm_new_control(dapm, &template); in soc_tplg_dapm_widget_create()
1222 widget = snd_soc_dapm_new_control_unlocked(dapm, &template); in soc_tplg_dapm_widget_create()
1223 if (IS_ERR(widget)) { in soc_tplg_dapm_widget_create()
1224 ret = PTR_ERR(widget); in soc_tplg_dapm_widget_create()
1228 widget->dobj.type = SND_SOC_DOBJ_WIDGET; in soc_tplg_dapm_widget_create()
1229 widget->dobj.widget.kcontrol_type = kcontrol_type; in soc_tplg_dapm_widget_create()
1231 widget->dobj.unload = tplg->ops->widget_unload; in soc_tplg_dapm_widget_create()
1232 widget->dobj.index = tplg->index; in soc_tplg_dapm_widget_create()
1233 list_add(&widget->dobj.list, &tplg->comp->dobj_list); in soc_tplg_dapm_widget_create()
1235 ret = soc_tplg_widget_ready(tplg, widget, w); in soc_tplg_dapm_widget_create()
1245 soc_tplg_remove_widget(widget->dapm->component, &widget->dobj, SOC_TPLG_PASS_WIDGET); in soc_tplg_dapm_widget_create()
1246 snd_soc_dapm_free_widget(widget); in soc_tplg_dapm_widget_create()
1264 struct snd_soc_tplg_dapm_widget *widget = (struct snd_soc_tplg_dapm_widget *) tplg->pos; in soc_tplg_dapm_widget_elems_load() local
1268 * check if widget itself fits within topology file in soc_tplg_dapm_widget_elems_load()
1269 * use sizeof instead of widget->size, as we can't be sure in soc_tplg_dapm_widget_elems_load()
1272 if (soc_tplg_get_offset(tplg) + sizeof(*widget) >= tplg->fw->size) { in soc_tplg_dapm_widget_elems_load()
1273 dev_err(tplg->dev, "ASoC: invalid widget data size\n"); in soc_tplg_dapm_widget_elems_load()
1277 /* check if widget has proper size */ in soc_tplg_dapm_widget_elems_load()
1278 if (le32_to_cpu(widget->size) != sizeof(*widget)) { in soc_tplg_dapm_widget_elems_load()
1279 dev_err(tplg->dev, "ASoC: invalid widget size\n"); in soc_tplg_dapm_widget_elems_load()
1283 /* check if widget private data fits within topology file */ in soc_tplg_dapm_widget_elems_load()
1284 if (soc_tplg_get_offset(tplg) + le32_to_cpu(widget->priv.size) >= tplg->fw->size) { in soc_tplg_dapm_widget_elems_load()
1285 dev_err(tplg->dev, "ASoC: invalid widget private data size\n"); in soc_tplg_dapm_widget_elems_load()
1289 ret = soc_tplg_dapm_widget_create(tplg, widget); in soc_tplg_dapm_widget_elems_load()
1291 dev_err(tplg->dev, "ASoC: failed to load widget %s\n", in soc_tplg_dapm_widget_elems_load()
1292 widget->name); in soc_tplg_dapm_widget_elems_load()
1309 dev_warn(tplg->dev, "ASoC: Parent card not yet available, widget card binding deferred\n"); in soc_tplg_dapm_complete()