aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/s6000/s6105-ipcam.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/s6000/s6105-ipcam.c')
-rw-r--r--sound/soc/s6000/s6105-ipcam.c40
1 files changed, 21 insertions, 19 deletions
diff --git a/sound/soc/s6000/s6105-ipcam.c b/sound/soc/s6000/s6105-ipcam.c
index 96c05e137538..db1803d9665a 100644
--- a/sound/soc/s6000/s6105-ipcam.c
+++ b/sound/soc/s6000/s6105-ipcam.c
@@ -107,6 +107,7 @@ static int output_type_put(struct snd_kcontrol *kcontrol,
107 struct snd_ctl_elem_value *ucontrol) 107 struct snd_ctl_elem_value *ucontrol)
108{ 108{
109 struct snd_soc_codec *codec = kcontrol->private_data; 109 struct snd_soc_codec *codec = kcontrol->private_data;
110 struct snd_soc_dapm_context *dapm = &codec->dapm;
110 unsigned int val = (ucontrol->value.enumerated.item[0] != 0); 111 unsigned int val = (ucontrol->value.enumerated.item[0] != 0);
111 char *differential = "Audio Out Differential"; 112 char *differential = "Audio Out Differential";
112 char *stereo = "Audio Out Stereo"; 113 char *stereo = "Audio Out Stereo";
@@ -114,10 +115,10 @@ static int output_type_put(struct snd_kcontrol *kcontrol,
114 if (kcontrol->private_value == val) 115 if (kcontrol->private_value == val)
115 return 0; 116 return 0;
116 kcontrol->private_value = val; 117 kcontrol->private_value = val;
117 snd_soc_dapm_disable_pin(codec, val ? differential : stereo); 118 snd_soc_dapm_disable_pin(dapm, val ? differential : stereo);
118 snd_soc_dapm_sync(codec); 119 snd_soc_dapm_sync(dapm);
119 snd_soc_dapm_enable_pin(codec, val ? stereo : differential); 120 snd_soc_dapm_enable_pin(dapm, val ? stereo : differential);
120 snd_soc_dapm_sync(codec); 121 snd_soc_dapm_sync(dapm);
121 122
122 return 1; 123 return 1;
123} 124}
@@ -137,35 +138,36 @@ static const struct snd_kcontrol_new audio_out_mux = {
137static int s6105_aic3x_init(struct snd_soc_pcm_runtime *rtd) 138static int s6105_aic3x_init(struct snd_soc_pcm_runtime *rtd)
138{ 139{
139 struct snd_soc_codec *codec = rtd->codec; 140 struct snd_soc_codec *codec = rtd->codec;
141 struct snd_soc_dapm_context *dapm = &codec->dapm;
140 142
141 /* Add s6105 specific widgets */ 143 /* Add s6105 specific widgets */
142 snd_soc_dapm_new_controls(codec, aic3x_dapm_widgets, 144 snd_soc_dapm_new_controls(dapm, aic3x_dapm_widgets,
143 ARRAY_SIZE(aic3x_dapm_widgets)); 145 ARRAY_SIZE(aic3x_dapm_widgets));
144 146
145 /* Set up s6105 specific audio path audio_map */ 147 /* Set up s6105 specific audio path audio_map */
146 snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map)); 148 snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
147 149
148 /* not present */ 150 /* not present */
149 snd_soc_dapm_nc_pin(codec, "MONO_LOUT"); 151 snd_soc_dapm_nc_pin(dapm, "MONO_LOUT");
150 snd_soc_dapm_nc_pin(codec, "LINE2L"); 152 snd_soc_dapm_nc_pin(dapm, "LINE2L");
151 snd_soc_dapm_nc_pin(codec, "LINE2R"); 153 snd_soc_dapm_nc_pin(dapm, "LINE2R");
152 154
153 /* not connected */ 155 /* not connected */
154 snd_soc_dapm_nc_pin(codec, "MIC3L"); /* LINE2L on this chip */ 156 snd_soc_dapm_nc_pin(dapm, "MIC3L"); /* LINE2L on this chip */
155 snd_soc_dapm_nc_pin(codec, "MIC3R"); /* LINE2R on this chip */ 157 snd_soc_dapm_nc_pin(dapm, "MIC3R"); /* LINE2R on this chip */
156 snd_soc_dapm_nc_pin(codec, "LLOUT"); 158 snd_soc_dapm_nc_pin(dapm, "LLOUT");
157 snd_soc_dapm_nc_pin(codec, "RLOUT"); 159 snd_soc_dapm_nc_pin(dapm, "RLOUT");
158 snd_soc_dapm_nc_pin(codec, "HPRCOM"); 160 snd_soc_dapm_nc_pin(dapm, "HPRCOM");
159 161
160 /* always connected */ 162 /* always connected */
161 snd_soc_dapm_enable_pin(codec, "Audio In"); 163 snd_soc_dapm_enable_pin(dapm, "Audio In");
162 164
163 /* must correspond to audio_out_mux.private_value initializer */ 165 /* must correspond to audio_out_mux.private_value initializer */
164 snd_soc_dapm_disable_pin(codec, "Audio Out Differential"); 166 snd_soc_dapm_disable_pin(dapm, "Audio Out Differential");
165 snd_soc_dapm_sync(codec); 167 snd_soc_dapm_sync(dapm);
166 snd_soc_dapm_enable_pin(codec, "Audio Out Stereo"); 168 snd_soc_dapm_enable_pin(dapm, "Audio Out Stereo");
167 169
168 snd_soc_dapm_sync(codec); 170 snd_soc_dapm_sync(dapm);
169 171
170 snd_ctl_add(codec->snd_card, snd_ctl_new1(&audio_out_mux, codec)); 172 snd_ctl_add(codec->snd_card, snd_ctl_new1(&audio_out_mux, codec));
171 173