Lines Matching refs:path

458 	struct snd_soc_dapm_path *path)  in dapm_kcontrol_add_path()  argument
462 list_add_tail(&path->list_kcontrol, &data->paths); in dapm_kcontrol_add_path()
483 #define dapm_kcontrol_for_each_path(path, kcontrol) \ argument
484 list_for_each_entry(path, dapm_kcontrol_get_path_list(kcontrol), \
689 struct snd_soc_dapm_path *path, const char *control_name, in dapm_connect_mux() argument
713 path->name = e->texts[i]; in dapm_connect_mux()
715 path->connect = 1; in dapm_connect_mux()
717 path->connect = 0; in dapm_connect_mux()
750 struct snd_soc_dapm_path *path, const char *control_name) in dapm_connect_mixer() argument
755 for (i = 0; i < path->sink->num_kcontrols; i++) { in dapm_connect_mixer()
756 if (!strcmp(control_name, path->sink->kcontrol_news[i].name)) { in dapm_connect_mixer()
757 path->name = path->sink->kcontrol_news[i].name; in dapm_connect_mixer()
758 dapm_set_mixer_path_status(path, i); in dapm_connect_mixer()
903 struct snd_soc_dapm_path *path; in dapm_new_mixer() local
909 snd_soc_dapm_widget_for_each_source_path(w, path) { in dapm_new_mixer()
911 if (path->name != (char *)w->kcontrol_news[i].name) in dapm_new_mixer()
920 dapm_kcontrol_add_path(w->kcontrols[i], path); in dapm_new_mixer()
926 path->source, in dapm_new_mixer()
939 struct snd_soc_dapm_path *path; in dapm_new_mux() local
972 snd_soc_dapm_widget_for_each_path(w, dir, path) { in dapm_new_mux()
973 if (path->name) in dapm_new_mux()
974 dapm_kcontrol_add_path(w->kcontrols[0], path); in dapm_new_mux()
1079 struct snd_soc_dapm_path *path; in is_connected_ep() local
1096 snd_soc_dapm_widget_for_each_path(widget, rdir, path) { in is_connected_ep()
1099 if (path->weak || path->is_supply) in is_connected_ep()
1102 if (path->walking) in is_connected_ep()
1105 trace_snd_soc_dapm_path(widget, dir, path); in is_connected_ep()
1107 if (path->connect) { in is_connected_ep()
1108 path->walking = 1; in is_connected_ep()
1109 con += fn(path->node[dir], list); in is_connected_ep()
1110 path->walking = 0; in is_connected_ep()
1279 struct snd_soc_dapm_path *path; in dapm_supply_check_power() local
1284 snd_soc_dapm_widget_for_each_sink_path(w, path) { in dapm_supply_check_power()
1287 if (path->weak) in dapm_supply_check_power()
1290 if (path->connected && in dapm_supply_check_power()
1291 !path->connected(path->source, path->sink)) in dapm_supply_check_power()
1294 if (dapm_widget_power_check(path->sink)) in dapm_supply_check_power()
1698 struct snd_soc_dapm_path *path; in dapm_widget_set_power() local
1708 snd_soc_dapm_widget_for_each_source_path(w, path) in dapm_widget_set_power()
1709 dapm_widget_set_peer_power(path->source, power, path->connect); in dapm_widget_set_power()
1713 snd_soc_dapm_widget_for_each_sink_path(w, path) in dapm_widget_set_power()
1714 dapm_widget_set_peer_power(path->sink, power, in dapm_widget_set_power()
1715 path->connect); in dapm_widget_set_power()
2086 static void soc_dapm_connect_path(struct snd_soc_dapm_path *path, in soc_dapm_connect_path() argument
2089 if (path->connect == connect) in soc_dapm_connect_path()
2092 path->connect = connect; in soc_dapm_connect_path()
2093 dapm_mark_dirty(path->source, reason); in soc_dapm_connect_path()
2094 dapm_mark_dirty(path->sink, reason); in soc_dapm_connect_path()
2095 dapm_path_invalidate(path); in soc_dapm_connect_path()
2102 struct snd_soc_dapm_path *path; in soc_dapm_mux_update_power() local
2109 dapm_kcontrol_for_each_path(path, kcontrol) { in soc_dapm_mux_update_power()
2112 if (!(strcmp(path->name, e->texts[mux]))) in soc_dapm_mux_update_power()
2117 soc_dapm_connect_path(path, connect, "mux update"); in soc_dapm_mux_update_power()
2148 struct snd_soc_dapm_path *path; in soc_dapm_mixer_update_power() local
2154 dapm_kcontrol_for_each_path(path, kcontrol) { in soc_dapm_mixer_update_power()
2156 soc_dapm_connect_path(path, connect, "mixer update"); in soc_dapm_mixer_update_power()
2273 static void dapm_free_path(struct snd_soc_dapm_path *path) in dapm_free_path() argument
2275 list_del(&path->list_node[SND_SOC_DAPM_DIR_IN]); in dapm_free_path()
2276 list_del(&path->list_node[SND_SOC_DAPM_DIR_OUT]); in dapm_free_path()
2277 list_del(&path->list_kcontrol); in dapm_free_path()
2278 list_del(&path->list); in dapm_free_path()
2279 kfree(path); in dapm_free_path()
2525 struct snd_soc_dapm_path *path; in snd_soc_dapm_add_path() local
2553 path = kzalloc(sizeof(struct snd_soc_dapm_path), GFP_KERNEL); in snd_soc_dapm_add_path()
2554 if (!path) in snd_soc_dapm_add_path()
2557 path->node[SND_SOC_DAPM_DIR_IN] = wsource; in snd_soc_dapm_add_path()
2558 path->node[SND_SOC_DAPM_DIR_OUT] = wsink; in snd_soc_dapm_add_path()
2562 path->connected = connected; in snd_soc_dapm_add_path()
2563 INIT_LIST_HEAD(&path->list); in snd_soc_dapm_add_path()
2564 INIT_LIST_HEAD(&path->list_kcontrol); in snd_soc_dapm_add_path()
2567 path->is_supply = 1; in snd_soc_dapm_add_path()
2571 path->connect = 1; in snd_soc_dapm_add_path()
2575 ret = dapm_connect_mux(dapm, path, control, wsource); in snd_soc_dapm_add_path()
2585 ret = dapm_connect_mux(dapm, path, control, wsink); in snd_soc_dapm_add_path()
2592 ret = dapm_connect_mixer(dapm, path, control); in snd_soc_dapm_add_path()
2601 list_add(&path->list, &dapm->card->paths); in snd_soc_dapm_add_path()
2603 list_add(&path->list_node[dir], &widgets[dir]->edges[dir]); in snd_soc_dapm_add_path()
2610 if (dapm->card->instantiated && path->connect) in snd_soc_dapm_add_path()
2611 dapm_path_invalidate(path); in snd_soc_dapm_add_path()
2615 kfree(path); in snd_soc_dapm_add_path()
2710 struct snd_soc_dapm_path *path, *p; in snd_soc_dapm_del_route() local
2736 path = NULL; in snd_soc_dapm_del_route()
2742 path = p; in snd_soc_dapm_del_route()
2746 if (path) { in snd_soc_dapm_del_route()
2747 wsource = path->source; in snd_soc_dapm_del_route()
2748 wsink = path->sink; in snd_soc_dapm_del_route()
2752 if (path->connect) in snd_soc_dapm_del_route()
2753 dapm_path_invalidate(path); in snd_soc_dapm_del_route()
2755 dapm_free_path(path); in snd_soc_dapm_del_route()
2837 struct snd_soc_dapm_path *path; in snd_soc_dapm_weak_route() local
2856 snd_soc_dapm_widget_for_each_sink_path(source, path) { in snd_soc_dapm_weak_route()
2857 if (path->sink == sink) { in snd_soc_dapm_weak_route()
2858 path->weak = 1; in snd_soc_dapm_weak_route()