Lines Matching defs:widget
164 /* mapping of widget types from UAPI IDs to kernel IDs */
271 /* optionally pass new dynamic widget to component driver. This is mainly for
283 /* optionally pass new dynamic widget to component driver. This is mainly for
438 /* remove a widget and it's kcontrols - routes must be removed first */
460 if (dobj->widget.kcontrol_type == SND_SOC_TPLG_TYPE_ENUM) {
461 /* enumerated widget mixer */
481 if (dobj->widget.kcontrol_type
500 /* widget w is freed by soc-dapm.c */
1340 dev_dbg(tplg->dev, " adding DAPM widget mixer control %s at %d\n",
1431 dev_dbg(tplg->dev, " adding DAPM widget enum control %s\n",
1590 struct snd_soc_dapm_widget template, *widget;
1603 dev_dbg(tplg->dev, "ASoC: creating DAPM widget %s id %d\n",
1608 /* map user to kernel widget ID */
1613 /* strings are allocated here, but used and freed by the widget */
1639 goto widget;
1690 dev_err(tplg->dev, "ASoC: invalid widget control type %d:%d:%d\n",
1697 widget:
1705 widget = snd_soc_dapm_new_control(dapm, &template);
1707 widget = snd_soc_dapm_new_control_unlocked(dapm, &template);
1708 if (IS_ERR(widget)) {
1709 ret = PTR_ERR(widget);
1713 widget->dobj.type = SND_SOC_DOBJ_WIDGET;
1714 widget->dobj.widget.kcontrol_type = kcontrol_type;
1715 widget->dobj.ops = tplg->ops;
1716 widget->dobj.index = tplg->index;
1717 list_add(&widget->dobj.list, &tplg->comp->dobj_list);
1719 ret = soc_tplg_widget_ready(tplg, widget, w);
1729 snd_soc_tplg_widget_remove(widget);
1730 snd_soc_dapm_free_widget(widget);
1741 struct snd_soc_tplg_dapm_widget *widget;
1749 widget = (struct snd_soc_tplg_dapm_widget *) tplg->pos;
1750 if (le32_to_cpu(widget->size) != sizeof(*widget)) {
1751 dev_err(tplg->dev, "ASoC: invalid widget size\n");
1755 ret = soc_tplg_dapm_widget_create(tplg, widget);
1757 dev_err(tplg->dev, "ASoC: failed to load widget %s\n",
1758 widget->name);
1776 " widget card binding deferred\n");
2839 /* remove this dynamic widget */
2842 /* make sure we are a widget */
2858 /* make sure we are a widget with correct context */
2866 /* check and free and dynamic widget kcontrols */