Lines Matching refs:widget
48 #define DAPM_UPDATE_STAT(widget, val) widget->dapm->card->dapm_stats.val++; argument
57 const struct snd_soc_dapm_widget *widget);
193 struct snd_soc_dapm_widget *widget; member
198 static int dapm_kcontrol_data_alloc(struct snd_soc_dapm_widget *widget, in dapm_kcontrol_data_alloc() argument
206 dev_err(widget->dapm->dev, in dapm_kcontrol_data_alloc()
208 widget->name); in dapm_kcontrol_data_alloc()
214 switch (widget->id) { in dapm_kcontrol_data_alloc()
237 data->widget = snd_soc_dapm_new_control(widget->dapm, in dapm_kcontrol_data_alloc()
239 if (!data->widget) { in dapm_kcontrol_data_alloc()
270 struct snd_soc_dapm_widget *widget) in dapm_kcontrol_add_widget() argument
282 sizeof(*new_wlist) + sizeof(widget) * n, GFP_KERNEL); in dapm_kcontrol_add_widget()
286 new_wlist->widgets[n - 1] = widget; in dapm_kcontrol_add_widget()
301 if (data->widget) { in dapm_kcontrol_add_path()
302 snd_soc_dapm_add_path(data->widget->dapm, data->widget, in dapm_kcontrol_add_path()
311 if (!data->widget) in dapm_kcontrol_is_powered()
314 return data->widget->power; in dapm_kcontrol_is_powered()
345 if (data->widget) in dapm_kcontrol_set_value()
346 data->widget->on_val = value; in dapm_kcontrol_set_value()
789 static int snd_soc_dapm_suspend_check(struct snd_soc_dapm_widget *widget) in snd_soc_dapm_suspend_check() argument
791 int level = snd_power_get_state(widget->dapm->card->snd_card); in snd_soc_dapm_suspend_check()
796 if (widget->ignore_suspend) in snd_soc_dapm_suspend_check()
797 dev_dbg(widget->dapm->dev, "ASoC: %s ignoring suspend\n", in snd_soc_dapm_suspend_check()
798 widget->name); in snd_soc_dapm_suspend_check()
799 return widget->ignore_suspend; in snd_soc_dapm_suspend_check()
848 static int is_connected_output_ep(struct snd_soc_dapm_widget *widget, in is_connected_output_ep() argument
854 if (widget->outputs >= 0) in is_connected_output_ep()
855 return widget->outputs; in is_connected_output_ep()
857 DAPM_UPDATE_STAT(widget, path_checks); in is_connected_output_ep()
859 switch (widget->id) { in is_connected_output_ep()
869 switch (widget->id) { in is_connected_output_ep()
873 if (widget->active) { in is_connected_output_ep()
874 widget->outputs = snd_soc_dapm_suspend_check(widget); in is_connected_output_ep()
875 return widget->outputs; in is_connected_output_ep()
881 if (widget->connected) { in is_connected_output_ep()
883 if (widget->id == snd_soc_dapm_output && !widget->ext) { in is_connected_output_ep()
884 widget->outputs = snd_soc_dapm_suspend_check(widget); in is_connected_output_ep()
885 return widget->outputs; in is_connected_output_ep()
889 if (widget->id == snd_soc_dapm_hp || in is_connected_output_ep()
890 widget->id == snd_soc_dapm_spk || in is_connected_output_ep()
891 (widget->id == snd_soc_dapm_line && in is_connected_output_ep()
892 !list_empty(&widget->sources))) { in is_connected_output_ep()
893 widget->outputs = snd_soc_dapm_suspend_check(widget); in is_connected_output_ep()
894 return widget->outputs; in is_connected_output_ep()
898 list_for_each_entry(path, &widget->sinks, list_source) { in is_connected_output_ep()
899 DAPM_UPDATE_STAT(widget, neighbour_checks); in is_connected_output_ep()
910 trace_snd_soc_dapm_output_path(widget, path); in is_connected_output_ep()
921 dev_err(widget->dapm->dev, in is_connected_output_ep()
923 widget->name); in is_connected_output_ep()
935 widget->outputs = con; in is_connected_output_ep()
944 static int is_connected_input_ep(struct snd_soc_dapm_widget *widget, in is_connected_input_ep() argument
950 if (widget->inputs >= 0) in is_connected_input_ep()
951 return widget->inputs; in is_connected_input_ep()
953 DAPM_UPDATE_STAT(widget, path_checks); in is_connected_input_ep()
955 switch (widget->id) { in is_connected_input_ep()
966 switch (widget->id) { in is_connected_input_ep()
970 if (widget->active) { in is_connected_input_ep()
971 widget->inputs = snd_soc_dapm_suspend_check(widget); in is_connected_input_ep()
972 return widget->inputs; in is_connected_input_ep()
978 if (widget->connected) { in is_connected_input_ep()
980 if (widget->id == snd_soc_dapm_input && !widget->ext) { in is_connected_input_ep()
981 widget->inputs = snd_soc_dapm_suspend_check(widget); in is_connected_input_ep()
982 return widget->inputs; in is_connected_input_ep()
986 if (widget->id == snd_soc_dapm_vmid) { in is_connected_input_ep()
987 widget->inputs = snd_soc_dapm_suspend_check(widget); in is_connected_input_ep()
988 return widget->inputs; in is_connected_input_ep()
992 if (widget->id == snd_soc_dapm_mic || in is_connected_input_ep()
993 (widget->id == snd_soc_dapm_line && in is_connected_input_ep()
994 !list_empty(&widget->sinks))) { in is_connected_input_ep()
995 widget->inputs = snd_soc_dapm_suspend_check(widget); in is_connected_input_ep()
996 return widget->inputs; in is_connected_input_ep()
1000 if (widget->id == snd_soc_dapm_siggen) { in is_connected_input_ep()
1001 widget->inputs = snd_soc_dapm_suspend_check(widget); in is_connected_input_ep()
1002 return widget->inputs; in is_connected_input_ep()
1006 list_for_each_entry(path, &widget->sources, list_sink) { in is_connected_input_ep()
1007 DAPM_UPDATE_STAT(widget, neighbour_checks); in is_connected_input_ep()
1018 trace_snd_soc_dapm_input_path(widget, path); in is_connected_input_ep()
1029 dev_err(widget->dapm->dev, in is_connected_input_ep()
1031 widget->name); in is_connected_input_ep()
1043 widget->inputs = con; in is_connected_input_ep()
3043 const struct snd_soc_dapm_widget *widget) in snd_soc_dapm_new_control() argument
3049 if ((w = dapm_cnew_widget(widget)) == NULL) in snd_soc_dapm_new_control()
3089 w->name = kasprintf(GFP_KERNEL, "%s %s", prefix, widget->name); in snd_soc_dapm_new_control()
3090 if (widget->sname) in snd_soc_dapm_new_control()
3092 widget->sname); in snd_soc_dapm_new_control()
3094 w->name = kasprintf(GFP_KERNEL, "%s", widget->name); in snd_soc_dapm_new_control()
3095 if (widget->sname) in snd_soc_dapm_new_control()
3096 w->sname = kasprintf(GFP_KERNEL, "%s", widget->sname); in snd_soc_dapm_new_control()
3170 const struct snd_soc_dapm_widget *widget, in snd_soc_dapm_new_controls() argument
3179 w = snd_soc_dapm_new_control(dapm, widget); in snd_soc_dapm_new_controls()
3183 widget->name); in snd_soc_dapm_new_controls()
3187 widget++; in snd_soc_dapm_new_controls()