Lines Matching refs:widget
42 #define DAPM_UPDATE_STAT(widget, val) widget->dapm->card->dapm_stats.val++; argument
59 const struct snd_soc_dapm_widget *widget);
63 const struct snd_soc_dapm_widget *widget);
347 struct snd_soc_dapm_widget *widget; member
352 static int dapm_kcontrol_data_alloc(struct snd_soc_dapm_widget *widget, in dapm_kcontrol_data_alloc() argument
367 switch (widget->id) { in dapm_kcontrol_data_alloc()
377 dev_warn(widget->dapm->dev, in dapm_kcontrol_data_alloc()
402 data->widget = in dapm_kcontrol_data_alloc()
403 snd_soc_dapm_new_control_unlocked(widget->dapm, in dapm_kcontrol_data_alloc()
406 if (IS_ERR(data->widget)) { in dapm_kcontrol_data_alloc()
407 ret = PTR_ERR(data->widget); in dapm_kcontrol_data_alloc()
437 data->widget = snd_soc_dapm_new_control_unlocked( in dapm_kcontrol_data_alloc()
438 widget->dapm, &template); in dapm_kcontrol_data_alloc()
440 if (IS_ERR(data->widget)) { in dapm_kcontrol_data_alloc()
441 ret = PTR_ERR(data->widget); in dapm_kcontrol_data_alloc()
445 snd_soc_dapm_add_path(widget->dapm, data->widget, in dapm_kcontrol_data_alloc()
446 widget, NULL, NULL); in dapm_kcontrol_data_alloc()
448 data->value = soc_dapm_read(widget->dapm, e->reg) & in dapm_kcontrol_data_alloc()
483 struct snd_soc_dapm_widget *widget) in dapm_kcontrol_add_widget() argument
500 new_wlist->widgets[n - 1] = widget; in dapm_kcontrol_add_widget()
520 if (!data->widget) in dapm_kcontrol_is_powered()
523 return data->widget->power; in dapm_kcontrol_is_powered()
554 if (data->widget) { in dapm_kcontrol_set_value()
559 data->widget->on_val = value & data->widget->mask; in dapm_kcontrol_set_value()
563 data->widget->on_val = value >> data->widget->shift; in dapm_kcontrol_set_value()
566 data->widget->on_val = value; in dapm_kcontrol_set_value()
1000 if (data->widget) in dapm_new_mixer()
1001 snd_soc_dapm_add_path(data->widget->dapm, in dapm_new_mixer()
1002 data->widget, in dapm_new_mixer()
1106 static int snd_soc_dapm_suspend_check(struct snd_soc_dapm_widget *widget) in snd_soc_dapm_suspend_check() argument
1108 int level = snd_power_get_state(widget->dapm->card->snd_card); in snd_soc_dapm_suspend_check()
1113 if (widget->ignore_suspend) in snd_soc_dapm_suspend_check()
1114 dev_dbg(widget->dapm->dev, "ASoC: %s ignoring suspend\n", in snd_soc_dapm_suspend_check()
1115 widget->name); in snd_soc_dapm_suspend_check()
1116 return widget->ignore_suspend; in snd_soc_dapm_suspend_check()
1155 static void invalidate_paths_ep(struct snd_soc_dapm_widget *widget, in invalidate_paths_ep() argument
1161 widget->endpoints[dir] = -1; in invalidate_paths_ep()
1163 snd_soc_dapm_widget_for_each_path(widget, rdir, path) { in invalidate_paths_ep()
1185 static __always_inline int is_connected_ep(struct snd_soc_dapm_widget *widget, in is_connected_ep() argument
1197 if (widget->endpoints[dir] >= 0) in is_connected_ep()
1198 return widget->endpoints[dir]; in is_connected_ep()
1200 DAPM_UPDATE_STAT(widget, path_checks); in is_connected_ep()
1204 list_add_tail(&widget->work_list, list); in is_connected_ep()
1206 if (custom_stop_condition && custom_stop_condition(widget, dir)) { in is_connected_ep()
1211 if ((widget->is_ep & SND_SOC_DAPM_DIR_TO_EP(dir)) && widget->connected) { in is_connected_ep()
1212 widget->endpoints[dir] = snd_soc_dapm_suspend_check(widget); in is_connected_ep()
1213 return widget->endpoints[dir]; in is_connected_ep()
1216 snd_soc_dapm_widget_for_each_path(widget, rdir, path) { in is_connected_ep()
1217 DAPM_UPDATE_STAT(widget, neighbour_checks); in is_connected_ep()
1225 trace_snd_soc_dapm_path(widget, dir, path); in is_connected_ep()
1234 widget->endpoints[dir] = con; in is_connected_ep()
1248 static int is_connected_output_ep(struct snd_soc_dapm_widget *widget, in is_connected_output_ep() argument
1253 return is_connected_ep(widget, list, SND_SOC_DAPM_DIR_OUT, in is_connected_output_ep()
1266 static int is_connected_input_ep(struct snd_soc_dapm_widget *widget, in is_connected_input_ep() argument
1271 return is_connected_ep(widget, list, SND_SOC_DAPM_DIR_IN, in is_connected_input_ep()
3601 const struct snd_soc_dapm_widget *widget) in snd_soc_dapm_new_control_unlocked() argument
3608 if ((w = dapm_cnew_widget(widget)) == NULL) in snd_soc_dapm_new_control_unlocked()
3613 w->name = kasprintf(GFP_KERNEL, "%s %s", prefix, widget->name); in snd_soc_dapm_new_control_unlocked()
3615 w->name = kstrdup_const(widget->name, GFP_KERNEL); in snd_soc_dapm_new_control_unlocked()
3621 w->regulator = devm_regulator_get(dapm->dev, widget->name); in snd_soc_dapm_new_control_unlocked()
3761 const struct snd_soc_dapm_widget *widget) in snd_soc_dapm_new_control() argument
3766 w = snd_soc_dapm_new_control_unlocked(dapm, widget); in snd_soc_dapm_new_control()
3784 const struct snd_soc_dapm_widget *widget, in snd_soc_dapm_new_controls() argument
3792 struct snd_soc_dapm_widget *w = snd_soc_dapm_new_control_unlocked(dapm, widget); in snd_soc_dapm_new_controls()
3797 widget++; in snd_soc_dapm_new_controls()