diff options
Diffstat (limited to 'sound/soc/pxa/tosa.c')
-rw-r--r-- | sound/soc/pxa/tosa.c | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/sound/soc/pxa/tosa.c b/sound/soc/pxa/tosa.c index 7b983f935454..f75804ef0897 100644 --- a/sound/soc/pxa/tosa.c +++ b/sound/soc/pxa/tosa.c | |||
@@ -26,7 +26,6 @@ | |||
26 | #include <sound/core.h> | 26 | #include <sound/core.h> |
27 | #include <sound/pcm.h> | 27 | #include <sound/pcm.h> |
28 | #include <sound/soc.h> | 28 | #include <sound/soc.h> |
29 | #include <sound/soc-dapm.h> | ||
30 | 29 | ||
31 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
32 | #include <mach/tosa.h> | 31 | #include <mach/tosa.h> |
@@ -49,31 +48,33 @@ static int tosa_spk_func; | |||
49 | 48 | ||
50 | static void tosa_ext_control(struct snd_soc_codec *codec) | 49 | static void tosa_ext_control(struct snd_soc_codec *codec) |
51 | { | 50 | { |
51 | struct snd_soc_dapm_context *dapm = &codec->dapm; | ||
52 | |||
52 | /* set up jack connection */ | 53 | /* set up jack connection */ |
53 | switch (tosa_jack_func) { | 54 | switch (tosa_jack_func) { |
54 | case TOSA_HP: | 55 | case TOSA_HP: |
55 | snd_soc_dapm_disable_pin(codec, "Mic (Internal)"); | 56 | snd_soc_dapm_disable_pin(dapm, "Mic (Internal)"); |
56 | snd_soc_dapm_enable_pin(codec, "Headphone Jack"); | 57 | snd_soc_dapm_enable_pin(dapm, "Headphone Jack"); |
57 | snd_soc_dapm_disable_pin(codec, "Headset Jack"); | 58 | snd_soc_dapm_disable_pin(dapm, "Headset Jack"); |
58 | break; | 59 | break; |
59 | case TOSA_MIC_INT: | 60 | case TOSA_MIC_INT: |
60 | snd_soc_dapm_enable_pin(codec, "Mic (Internal)"); | 61 | snd_soc_dapm_enable_pin(dapm, "Mic (Internal)"); |
61 | snd_soc_dapm_disable_pin(codec, "Headphone Jack"); | 62 | snd_soc_dapm_disable_pin(dapm, "Headphone Jack"); |
62 | snd_soc_dapm_disable_pin(codec, "Headset Jack"); | 63 | snd_soc_dapm_disable_pin(dapm, "Headset Jack"); |
63 | break; | 64 | break; |
64 | case TOSA_HEADSET: | 65 | case TOSA_HEADSET: |
65 | snd_soc_dapm_disable_pin(codec, "Mic (Internal)"); | 66 | snd_soc_dapm_disable_pin(dapm, "Mic (Internal)"); |
66 | snd_soc_dapm_disable_pin(codec, "Headphone Jack"); | 67 | snd_soc_dapm_disable_pin(dapm, "Headphone Jack"); |
67 | snd_soc_dapm_enable_pin(codec, "Headset Jack"); | 68 | snd_soc_dapm_enable_pin(dapm, "Headset Jack"); |
68 | break; | 69 | break; |
69 | } | 70 | } |
70 | 71 | ||
71 | if (tosa_spk_func == TOSA_SPK_ON) | 72 | if (tosa_spk_func == TOSA_SPK_ON) |
72 | snd_soc_dapm_enable_pin(codec, "Speaker"); | 73 | snd_soc_dapm_enable_pin(dapm, "Speaker"); |
73 | else | 74 | else |
74 | snd_soc_dapm_disable_pin(codec, "Speaker"); | 75 | snd_soc_dapm_disable_pin(dapm, "Speaker"); |
75 | 76 | ||
76 | snd_soc_dapm_sync(codec); | 77 | snd_soc_dapm_sync(dapm); |
77 | } | 78 | } |
78 | 79 | ||
79 | static int tosa_startup(struct snd_pcm_substream *substream) | 80 | static int tosa_startup(struct snd_pcm_substream *substream) |
@@ -191,10 +192,11 @@ static const struct snd_kcontrol_new tosa_controls[] = { | |||
191 | static int tosa_ac97_init(struct snd_soc_pcm_runtime *rtd) | 192 | static int tosa_ac97_init(struct snd_soc_pcm_runtime *rtd) |
192 | { | 193 | { |
193 | struct snd_soc_codec *codec = rtd->codec; | 194 | struct snd_soc_codec *codec = rtd->codec; |
195 | struct snd_soc_dapm_context *dapm = &codec->dapm; | ||
194 | int err; | 196 | int err; |
195 | 197 | ||
196 | snd_soc_dapm_nc_pin(codec, "OUT3"); | 198 | snd_soc_dapm_nc_pin(dapm, "OUT3"); |
197 | snd_soc_dapm_nc_pin(codec, "MONOOUT"); | 199 | snd_soc_dapm_nc_pin(dapm, "MONOOUT"); |
198 | 200 | ||
199 | /* add tosa specific controls */ | 201 | /* add tosa specific controls */ |
200 | err = snd_soc_add_controls(codec, tosa_controls, | 202 | err = snd_soc_add_controls(codec, tosa_controls, |
@@ -203,13 +205,13 @@ static int tosa_ac97_init(struct snd_soc_pcm_runtime *rtd) | |||
203 | return err; | 205 | return err; |
204 | 206 | ||
205 | /* add tosa specific widgets */ | 207 | /* add tosa specific widgets */ |
206 | snd_soc_dapm_new_controls(codec, tosa_dapm_widgets, | 208 | snd_soc_dapm_new_controls(dapm, tosa_dapm_widgets, |
207 | ARRAY_SIZE(tosa_dapm_widgets)); | 209 | ARRAY_SIZE(tosa_dapm_widgets)); |
208 | 210 | ||
209 | /* set up tosa specific audio path audio_map */ | 211 | /* set up tosa specific audio path audio_map */ |
210 | snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map)); | 212 | snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map)); |
211 | 213 | ||
212 | snd_soc_dapm_sync(codec); | 214 | snd_soc_dapm_sync(dapm); |
213 | return 0; | 215 | return 0; |
214 | } | 216 | } |
215 | 217 | ||