From: Lars-Peter Clausen Date: Mon, 15 Aug 2011 18:15:21 +0000 (+0200) Subject: ASoC: DAPM: Allow multiple mixer sources to be routed via the same switch X-Git-Tag: MMI-PSA29.97-13-9~16612^2~916 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=82cd87643be7f133ad9a85865f67a0dcadcb76c7;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git ASoC: DAPM: Allow multiple mixer sources to be routed via the same switch Currently it is only possible to route one source per switch into a mixer. This patch modifies the code, so that it is possible to route multiple sources into a mixer via the same switch. One use-case for this is routing a stereo channel pair into a mono-mixer via the same switch. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index c26531132c66..170c4ffa609f 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -443,6 +443,11 @@ static int dapm_new_mixer(struct snd_soc_dapm_widget *w) if (path->name != (char *)w->kcontrol_news[i].name) continue; + if (w->kcontrols[i]) { + path->kcontrol = w->kcontrols[i]; + continue; + } + wlistsize = sizeof(struct snd_soc_dapm_widget_list) + sizeof(struct snd_soc_dapm_widget *), wlist = kzalloc(wlistsize, GFP_KERNEL); @@ -1556,7 +1561,6 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, /* found, now check type */ found = 1; path->connect = connect; - break; } if (found)