Lines Matching refs:widget

157 /* mapping of widget types from UAPI IDs to kernel IDs */
264 /* optionally pass new dynamic widget to component driver. This is mainly for
276 /* optionally pass new dynamic widget to component driver. This is mainly for
382 /* remove a widget and it's kcontrols - routes must be removed first */
407 /* widget w is freed by soc-dapm.c */
1113 dev_dbg(tplg->dev, " adding DAPM widget mixer control %s\n",
1182 dev_dbg(tplg->dev, " adding DAPM widget enum control %s\n",
1297 struct snd_soc_dapm_widget template, *widget;
1315 dev_dbg(tplg->dev, "ASoC: creating DAPM widget %s id %d\n",
1320 /* map user to kernel widget ID */
1325 /* strings are allocated here, but used and freed by the widget */
1350 goto widget;
1407 dev_err(tplg->dev, "ASoC: invalid widget control type %d:%d:%d\n",
1419 widget:
1427 widget = snd_soc_dapm_new_control(dapm, &template);
1429 widget = snd_soc_dapm_new_control_unlocked(dapm, &template);
1430 if (IS_ERR(widget)) {
1431 ret = PTR_ERR(widget);
1435 widget->dobj.type = SND_SOC_DOBJ_WIDGET;
1436 widget->dobj.widget.kcontrol_type = kcontrol_type;
1438 widget->dobj.unload = tplg->ops->widget_unload;
1439 widget->dobj.index = tplg->index;
1440 list_add(&widget->dobj.list, &tplg->comp->dobj_list);
1442 ret = soc_tplg_widget_ready(tplg, widget, w);
1452 soc_tplg_remove_widget(widget->dapm->component, &widget->dobj, SOC_TPLG_PASS_WIDGET);
1453 snd_soc_dapm_free_widget(widget);
1471 struct snd_soc_tplg_dapm_widget *widget = (struct snd_soc_tplg_dapm_widget *) tplg->pos;
1475 * check if widget itself fits within topology file
1476 * use sizeof instead of widget->size, as we can't be sure
1479 if (soc_tplg_get_offset(tplg) + sizeof(*widget) >= tplg->fw->size) {
1480 dev_err(tplg->dev, "ASoC: invalid widget data size\n");
1484 /* check if widget has proper size */
1485 if (le32_to_cpu(widget->size) != sizeof(*widget)) {
1486 dev_err(tplg->dev, "ASoC: invalid widget size\n");
1490 /* check if widget private data fits within topology file */
1491 if (soc_tplg_get_offset(tplg) + le32_to_cpu(widget->priv.size) >= tplg->fw->size) {
1492 dev_err(tplg->dev, "ASoC: invalid widget private data size\n");
1496 ret = soc_tplg_dapm_widget_create(tplg, widget);
1498 dev_err(tplg->dev, "ASoC: failed to load widget %s\n",
1499 widget->name);
1516 dev_warn(tplg->dev, "ASoC: Parent card not yet available, widget card binding deferred\n");