aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/pxa
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/pxa')
-rw-r--r--sound/soc/pxa/Kconfig2
-rw-r--r--sound/soc/pxa/corgi.c16
-rw-r--r--sound/soc/pxa/e740_wm9705.c20
-rw-r--r--sound/soc/pxa/e750_wm9705.c20
-rw-r--r--sound/soc/pxa/hx4700.c8
-rw-r--r--sound/soc/pxa/magician.c21
-rw-r--r--sound/soc/pxa/mioa701_wm9713.c2
-rw-r--r--sound/soc/pxa/palm27x.c15
-rw-r--r--sound/soc/pxa/raumfeld.c35
-rw-r--r--sound/soc/pxa/spitz.c23
-rw-r--r--sound/soc/pxa/ttc-dkb.c4
-rw-r--r--sound/soc/pxa/zylonite.c12
12 files changed, 21 insertions, 157 deletions
diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig
index 2434b6d61675..39cea80846c3 100644
--- a/sound/soc/pxa/Kconfig
+++ b/sound/soc/pxa/Kconfig
@@ -140,7 +140,7 @@ config SND_PXA910_SOC
140 Marvell PXA910 reference platform. 140 Marvell PXA910 reference platform.
141 141
142config SND_SOC_TTC_DKB 142config SND_SOC_TTC_DKB
143 bool "SoC Audio support for TTC DKB" 143 tristate "SoC Audio support for TTC DKB"
144 depends on SND_PXA910_SOC && MACH_TTC_DKB && I2C=y 144 depends on SND_PXA910_SOC && MACH_TTC_DKB && I2C=y
145 select PXA_SSP 145 select PXA_SSP
146 select SND_PXA_SOC_SSP 146 select SND_PXA_SOC_SSP
diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c
index b7cd0a71fd70..3580d10c9f28 100644
--- a/sound/soc/pxa/corgi.c
+++ b/sound/soc/pxa/corgi.c
@@ -259,20 +259,6 @@ static const struct snd_kcontrol_new wm8731_corgi_controls[] = {
259 corgi_set_spk), 259 corgi_set_spk),
260}; 260};
261 261
262/*
263 * Logic for a wm8731 as connected on a Sharp SL-C7x0 Device
264 */
265static int corgi_wm8731_init(struct snd_soc_pcm_runtime *rtd)
266{
267 struct snd_soc_codec *codec = rtd->codec;
268 struct snd_soc_dapm_context *dapm = &codec->dapm;
269
270 snd_soc_dapm_nc_pin(dapm, "LLINEIN");
271 snd_soc_dapm_nc_pin(dapm, "RLINEIN");
272
273 return 0;
274}
275
276/* corgi digital audio interface glue - connects codec <--> CPU */ 262/* corgi digital audio interface glue - connects codec <--> CPU */
277static struct snd_soc_dai_link corgi_dai = { 263static struct snd_soc_dai_link corgi_dai = {
278 .name = "WM8731", 264 .name = "WM8731",
@@ -281,7 +267,6 @@ static struct snd_soc_dai_link corgi_dai = {
281 .codec_dai_name = "wm8731-hifi", 267 .codec_dai_name = "wm8731-hifi",
282 .platform_name = "pxa-pcm-audio", 268 .platform_name = "pxa-pcm-audio",
283 .codec_name = "wm8731.0-001b", 269 .codec_name = "wm8731.0-001b",
284 .init = corgi_wm8731_init,
285 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 270 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
286 SND_SOC_DAIFMT_CBS_CFS, 271 SND_SOC_DAIFMT_CBS_CFS,
287 .ops = &corgi_ops, 272 .ops = &corgi_ops,
@@ -300,6 +285,7 @@ static struct snd_soc_card corgi = {
300 .num_dapm_widgets = ARRAY_SIZE(wm8731_dapm_widgets), 285 .num_dapm_widgets = ARRAY_SIZE(wm8731_dapm_widgets),
301 .dapm_routes = corgi_audio_map, 286 .dapm_routes = corgi_audio_map,
302 .num_dapm_routes = ARRAY_SIZE(corgi_audio_map), 287 .num_dapm_routes = ARRAY_SIZE(corgi_audio_map),
288 .fully_routed = true,
303}; 289};
304 290
305static int corgi_probe(struct platform_device *pdev) 291static int corgi_probe(struct platform_device *pdev)
diff --git a/sound/soc/pxa/e740_wm9705.c b/sound/soc/pxa/e740_wm9705.c
index 7c691aae8af2..d72e124a3676 100644
--- a/sound/soc/pxa/e740_wm9705.c
+++ b/sound/soc/pxa/e740_wm9705.c
@@ -88,24 +88,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
88 {"Mic Amp", NULL, "Mic (Internal)"}, 88 {"Mic Amp", NULL, "Mic (Internal)"},
89}; 89};
90 90
91static int e740_ac97_init(struct snd_soc_pcm_runtime *rtd)
92{
93 struct snd_soc_codec *codec = rtd->codec;
94 struct snd_soc_dapm_context *dapm = &codec->dapm;
95
96 snd_soc_dapm_nc_pin(dapm, "HPOUTL");
97 snd_soc_dapm_nc_pin(dapm, "HPOUTR");
98 snd_soc_dapm_nc_pin(dapm, "PHONE");
99 snd_soc_dapm_nc_pin(dapm, "LINEINL");
100 snd_soc_dapm_nc_pin(dapm, "LINEINR");
101 snd_soc_dapm_nc_pin(dapm, "CDINL");
102 snd_soc_dapm_nc_pin(dapm, "CDINR");
103 snd_soc_dapm_nc_pin(dapm, "PCBEEP");
104 snd_soc_dapm_nc_pin(dapm, "MIC2");
105
106 return 0;
107}
108
109static struct snd_soc_dai_link e740_dai[] = { 91static struct snd_soc_dai_link e740_dai[] = {
110 { 92 {
111 .name = "AC97", 93 .name = "AC97",
@@ -114,7 +96,6 @@ static struct snd_soc_dai_link e740_dai[] = {
114 .codec_dai_name = "wm9705-hifi", 96 .codec_dai_name = "wm9705-hifi",
115 .platform_name = "pxa-pcm-audio", 97 .platform_name = "pxa-pcm-audio",
116 .codec_name = "wm9705-codec", 98 .codec_name = "wm9705-codec",
117 .init = e740_ac97_init,
118 }, 99 },
119 { 100 {
120 .name = "AC97 Aux", 101 .name = "AC97 Aux",
@@ -136,6 +117,7 @@ static struct snd_soc_card e740 = {
136 .num_dapm_widgets = ARRAY_SIZE(e740_dapm_widgets), 117 .num_dapm_widgets = ARRAY_SIZE(e740_dapm_widgets),
137 .dapm_routes = audio_map, 118 .dapm_routes = audio_map,
138 .num_dapm_routes = ARRAY_SIZE(audio_map), 119 .num_dapm_routes = ARRAY_SIZE(audio_map),
120 .fully_routed = true,
139}; 121};
140 122
141static struct gpio e740_audio_gpios[] = { 123static struct gpio e740_audio_gpios[] = {
diff --git a/sound/soc/pxa/e750_wm9705.c b/sound/soc/pxa/e750_wm9705.c
index 30544b65b5a8..48f2d7c2e68c 100644
--- a/sound/soc/pxa/e750_wm9705.c
+++ b/sound/soc/pxa/e750_wm9705.c
@@ -70,24 +70,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
70 {"MIC1", NULL, "Mic (Internal)"}, 70 {"MIC1", NULL, "Mic (Internal)"},
71}; 71};
72 72
73static int e750_ac97_init(struct snd_soc_pcm_runtime *rtd)
74{
75 struct snd_soc_codec *codec = rtd->codec;
76 struct snd_soc_dapm_context *dapm = &codec->dapm;
77
78 snd_soc_dapm_nc_pin(dapm, "LOUT");
79 snd_soc_dapm_nc_pin(dapm, "ROUT");
80 snd_soc_dapm_nc_pin(dapm, "PHONE");
81 snd_soc_dapm_nc_pin(dapm, "LINEINL");
82 snd_soc_dapm_nc_pin(dapm, "LINEINR");
83 snd_soc_dapm_nc_pin(dapm, "CDINL");
84 snd_soc_dapm_nc_pin(dapm, "CDINR");
85 snd_soc_dapm_nc_pin(dapm, "PCBEEP");
86 snd_soc_dapm_nc_pin(dapm, "MIC2");
87
88 return 0;
89}
90
91static struct snd_soc_dai_link e750_dai[] = { 73static struct snd_soc_dai_link e750_dai[] = {
92 { 74 {
93 .name = "AC97", 75 .name = "AC97",
@@ -96,7 +78,6 @@ static struct snd_soc_dai_link e750_dai[] = {
96 .codec_dai_name = "wm9705-hifi", 78 .codec_dai_name = "wm9705-hifi",
97 .platform_name = "pxa-pcm-audio", 79 .platform_name = "pxa-pcm-audio",
98 .codec_name = "wm9705-codec", 80 .codec_name = "wm9705-codec",
99 .init = e750_ac97_init,
100 /* use ops to check startup state */ 81 /* use ops to check startup state */
101 }, 82 },
102 { 83 {
@@ -119,6 +100,7 @@ static struct snd_soc_card e750 = {
119 .num_dapm_widgets = ARRAY_SIZE(e750_dapm_widgets), 100 .num_dapm_widgets = ARRAY_SIZE(e750_dapm_widgets),
120 .dapm_routes = audio_map, 101 .dapm_routes = audio_map,
121 .num_dapm_routes = ARRAY_SIZE(audio_map), 102 .num_dapm_routes = ARRAY_SIZE(audio_map),
103 .fully_routed = true,
122}; 104};
123 105
124static struct gpio e750_audio_gpios[] = { 106static struct gpio e750_audio_gpios[] = {
diff --git a/sound/soc/pxa/hx4700.c b/sound/soc/pxa/hx4700.c
index ce26551052a3..73eb5ddf9753 100644
--- a/sound/soc/pxa/hx4700.c
+++ b/sound/soc/pxa/hx4700.c
@@ -127,15 +127,8 @@ static const struct snd_soc_dapm_route hx4700_audio_map[] = {
127static int hx4700_ak4641_init(struct snd_soc_pcm_runtime *rtd) 127static int hx4700_ak4641_init(struct snd_soc_pcm_runtime *rtd)
128{ 128{
129 struct snd_soc_codec *codec = rtd->codec; 129 struct snd_soc_codec *codec = rtd->codec;
130 struct snd_soc_dapm_context *dapm = &codec->dapm;
131 int err; 130 int err;
132 131
133 /* NC codec pins */
134 /* FIXME: is anything connected here? */
135 snd_soc_dapm_nc_pin(dapm, "MOUT1");
136 snd_soc_dapm_nc_pin(dapm, "MICEXT");
137 snd_soc_dapm_nc_pin(dapm, "AUX");
138
139 /* Jack detection API stuff */ 132 /* Jack detection API stuff */
140 err = snd_soc_jack_new(codec, "Headphone Jack", 133 err = snd_soc_jack_new(codec, "Headphone Jack",
141 SND_JACK_HEADPHONE, &hs_jack); 134 SND_JACK_HEADPHONE, &hs_jack);
@@ -184,6 +177,7 @@ static struct snd_soc_card snd_soc_card_hx4700 = {
184 .num_dapm_widgets = ARRAY_SIZE(hx4700_dapm_widgets), 177 .num_dapm_widgets = ARRAY_SIZE(hx4700_dapm_widgets),
185 .dapm_routes = hx4700_audio_map, 178 .dapm_routes = hx4700_audio_map,
186 .num_dapm_routes = ARRAY_SIZE(hx4700_audio_map), 179 .num_dapm_routes = ARRAY_SIZE(hx4700_audio_map),
180 .fully_routed = true,
187}; 181};
188 182
189static struct gpio hx4700_audio_gpios[] = { 183static struct gpio hx4700_audio_gpios[] = {
diff --git a/sound/soc/pxa/magician.c b/sound/soc/pxa/magician.c
index 259e048681c0..241d0be42d7a 100644
--- a/sound/soc/pxa/magician.c
+++ b/sound/soc/pxa/magician.c
@@ -391,25 +391,6 @@ static const struct snd_kcontrol_new uda1380_magician_controls[] = {
391 magician_get_input, magician_set_input), 391 magician_get_input, magician_set_input),
392}; 392};
393 393
394/*
395 * Logic for a uda1380 as connected on a HTC Magician
396 */
397static int magician_uda1380_init(struct snd_soc_pcm_runtime *rtd)
398{
399 struct snd_soc_codec *codec = rtd->codec;
400 struct snd_soc_dapm_context *dapm = &codec->dapm;
401
402 /* NC codec pins */
403 snd_soc_dapm_nc_pin(dapm, "VOUTLHP");
404 snd_soc_dapm_nc_pin(dapm, "VOUTRHP");
405
406 /* FIXME: is anything connected here? */
407 snd_soc_dapm_nc_pin(dapm, "VINL");
408 snd_soc_dapm_nc_pin(dapm, "VINR");
409
410 return 0;
411}
412
413/* magician digital audio interface glue - connects codec <--> CPU */ 394/* magician digital audio interface glue - connects codec <--> CPU */
414static struct snd_soc_dai_link magician_dai[] = { 395static struct snd_soc_dai_link magician_dai[] = {
415{ 396{
@@ -419,7 +400,6 @@ static struct snd_soc_dai_link magician_dai[] = {
419 .codec_dai_name = "uda1380-hifi-playback", 400 .codec_dai_name = "uda1380-hifi-playback",
420 .platform_name = "pxa-pcm-audio", 401 .platform_name = "pxa-pcm-audio",
421 .codec_name = "uda1380-codec.0-0018", 402 .codec_name = "uda1380-codec.0-0018",
422 .init = magician_uda1380_init,
423 .ops = &magician_playback_ops, 403 .ops = &magician_playback_ops,
424}, 404},
425{ 405{
@@ -446,6 +426,7 @@ static struct snd_soc_card snd_soc_card_magician = {
446 .num_dapm_widgets = ARRAY_SIZE(uda1380_dapm_widgets), 426 .num_dapm_widgets = ARRAY_SIZE(uda1380_dapm_widgets),
447 .dapm_routes = audio_map, 427 .dapm_routes = audio_map,
448 .num_dapm_routes = ARRAY_SIZE(audio_map), 428 .num_dapm_routes = ARRAY_SIZE(audio_map),
429 .fully_routed = true,
449}; 430};
450 431
451static struct platform_device *magician_snd_device; 432static struct platform_device *magician_snd_device;
diff --git a/sound/soc/pxa/mioa701_wm9713.c b/sound/soc/pxa/mioa701_wm9713.c
index 396dbd51a64f..a9615a574546 100644
--- a/sound/soc/pxa/mioa701_wm9713.c
+++ b/sound/soc/pxa/mioa701_wm9713.c
@@ -81,7 +81,7 @@ static int rear_amp_power(struct snd_soc_codec *codec, int power)
81static int rear_amp_event(struct snd_soc_dapm_widget *widget, 81static int rear_amp_event(struct snd_soc_dapm_widget *widget,
82 struct snd_kcontrol *kctl, int event) 82 struct snd_kcontrol *kctl, int event)
83{ 83{
84 struct snd_soc_codec *codec = widget->codec; 84 struct snd_soc_codec *codec = widget->dapm->card->rtd[0].codec;
85 85
86 return rear_amp_power(codec, SND_SOC_DAPM_EVENT_ON(event)); 86 return rear_amp_power(codec, SND_SOC_DAPM_EVENT_ON(event));
87} 87}
diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c
index 1eebca2f0a97..910336c5ebeb 100644
--- a/sound/soc/pxa/palm27x.c
+++ b/sound/soc/pxa/palm27x.c
@@ -68,7 +68,7 @@ static const struct snd_soc_dapm_route audio_map[] = {
68 {"Ext. Speaker", NULL, "ROUT2"}, 68 {"Ext. Speaker", NULL, "ROUT2"},
69 69
70 /* mic connected to MIC1 */ 70 /* mic connected to MIC1 */
71 {"Ext. Microphone", NULL, "MIC1"}, 71 {"MIC1", NULL, "Ext. Microphone"},
72}; 72};
73 73
74static struct snd_soc_card palm27x_asoc; 74static struct snd_soc_card palm27x_asoc;
@@ -76,18 +76,8 @@ static struct snd_soc_card palm27x_asoc;
76static int palm27x_ac97_init(struct snd_soc_pcm_runtime *rtd) 76static int palm27x_ac97_init(struct snd_soc_pcm_runtime *rtd)
77{ 77{
78 struct snd_soc_codec *codec = rtd->codec; 78 struct snd_soc_codec *codec = rtd->codec;
79 struct snd_soc_dapm_context *dapm = &codec->dapm;
80 int err; 79 int err;
81 80
82 /* not connected pins */
83 snd_soc_dapm_nc_pin(dapm, "OUT3");
84 snd_soc_dapm_nc_pin(dapm, "MONOOUT");
85 snd_soc_dapm_nc_pin(dapm, "LINEINL");
86 snd_soc_dapm_nc_pin(dapm, "LINEINR");
87 snd_soc_dapm_nc_pin(dapm, "PCBEEP");
88 snd_soc_dapm_nc_pin(dapm, "PHONE");
89 snd_soc_dapm_nc_pin(dapm, "MIC2");
90
91 /* Jack detection API stuff */ 81 /* Jack detection API stuff */
92 err = snd_soc_jack_new(codec, "Headphone Jack", 82 err = snd_soc_jack_new(codec, "Headphone Jack",
93 SND_JACK_HEADPHONE, &hs_jack); 83 SND_JACK_HEADPHONE, &hs_jack);
@@ -133,7 +123,8 @@ static struct snd_soc_card palm27x_asoc = {
133 .dapm_widgets = palm27x_dapm_widgets, 123 .dapm_widgets = palm27x_dapm_widgets,
134 .num_dapm_widgets = ARRAY_SIZE(palm27x_dapm_widgets), 124 .num_dapm_widgets = ARRAY_SIZE(palm27x_dapm_widgets),
135 .dapm_routes = audio_map, 125 .dapm_routes = audio_map,
136 .num_dapm_routes = ARRAY_SIZE(audio_map) 126 .num_dapm_routes = ARRAY_SIZE(audio_map),
127 .fully_routed = true,
137}; 128};
138 129
139static int palm27x_asoc_probe(struct platform_device *pdev) 130static int palm27x_asoc_probe(struct platform_device *pdev)
diff --git a/sound/soc/pxa/raumfeld.c b/sound/soc/pxa/raumfeld.c
index 083706595495..552b763005ed 100644
--- a/sound/soc/pxa/raumfeld.c
+++ b/sound/soc/pxa/raumfeld.c
@@ -88,7 +88,7 @@ static int raumfeld_cs4270_hw_params(struct snd_pcm_substream *substream,
88 struct snd_soc_pcm_runtime *rtd = substream->private_data; 88 struct snd_soc_pcm_runtime *rtd = substream->private_data;
89 struct snd_soc_dai *codec_dai = rtd->codec_dai; 89 struct snd_soc_dai *codec_dai = rtd->codec_dai;
90 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; 90 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
91 unsigned int fmt, clk = 0; 91 unsigned int clk = 0;
92 int ret = 0; 92 int ret = 0;
93 93
94 switch (params_rate(params)) { 94 switch (params_rate(params)) {
@@ -112,15 +112,6 @@ static int raumfeld_cs4270_hw_params(struct snd_pcm_substream *substream,
112 return -EINVAL; 112 return -EINVAL;
113 } 113 }
114 114
115 fmt = SND_SOC_DAIFMT_I2S |
116 SND_SOC_DAIFMT_NB_NF |
117 SND_SOC_DAIFMT_CBS_CFS;
118
119 /* setup the CODEC DAI */
120 ret = snd_soc_dai_set_fmt(codec_dai, fmt);
121 if (ret < 0)
122 return ret;
123
124 ret = snd_soc_dai_set_sysclk(codec_dai, 0, clk, 0); 115 ret = snd_soc_dai_set_sysclk(codec_dai, 0, clk, 0);
125 if (ret < 0) 116 if (ret < 0)
126 return ret; 117 return ret;
@@ -130,10 +121,6 @@ static int raumfeld_cs4270_hw_params(struct snd_pcm_substream *substream,
130 if (ret < 0) 121 if (ret < 0)
131 return ret; 122 return ret;
132 123
133 ret = snd_soc_dai_set_fmt(cpu_dai, fmt);
134 if (ret < 0)
135 return ret;
136
137 ret = snd_soc_dai_set_clkdiv(cpu_dai, PXA_SSP_DIV_SCR, 4); 124 ret = snd_soc_dai_set_clkdiv(cpu_dai, PXA_SSP_DIV_SCR, 4);
138 if (ret < 0) 125 if (ret < 0)
139 return ret; 126 return ret;
@@ -169,9 +156,8 @@ static int raumfeld_ak4104_hw_params(struct snd_pcm_substream *substream,
169 struct snd_pcm_hw_params *params) 156 struct snd_pcm_hw_params *params)
170{ 157{
171 struct snd_soc_pcm_runtime *rtd = substream->private_data; 158 struct snd_soc_pcm_runtime *rtd = substream->private_data;
172 struct snd_soc_dai *codec_dai = rtd->codec_dai;
173 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; 159 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
174 int fmt, ret = 0, clk = 0; 160 int ret = 0, clk = 0;
175 161
176 switch (params_rate(params)) { 162 switch (params_rate(params)) {
177 case 44100: 163 case 44100:
@@ -194,22 +180,11 @@ static int raumfeld_ak4104_hw_params(struct snd_pcm_substream *substream,
194 return -EINVAL; 180 return -EINVAL;
195 } 181 }
196 182
197 fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF;
198
199 /* setup the CODEC DAI */
200 ret = snd_soc_dai_set_fmt(codec_dai, fmt | SND_SOC_DAIFMT_CBS_CFS);
201 if (ret < 0)
202 return ret;
203
204 /* setup the CPU DAI */ 183 /* setup the CPU DAI */
205 ret = snd_soc_dai_set_pll(cpu_dai, 0, 0, 0, clk); 184 ret = snd_soc_dai_set_pll(cpu_dai, 0, 0, 0, clk);
206 if (ret < 0) 185 if (ret < 0)
207 return ret; 186 return ret;
208 187
209 ret = snd_soc_dai_set_fmt(cpu_dai, fmt | SND_SOC_DAIFMT_CBS_CFS);
210 if (ret < 0)
211 return ret;
212
213 ret = snd_soc_dai_set_clkdiv(cpu_dai, PXA_SSP_DIV_SCR, 4); 188 ret = snd_soc_dai_set_clkdiv(cpu_dai, PXA_SSP_DIV_SCR, 4);
214 if (ret < 0) 189 if (ret < 0)
215 return ret; 190 return ret;
@@ -233,6 +208,9 @@ static struct snd_soc_ops raumfeld_ak4104_ops = {
233 .platform_name = "pxa-pcm-audio", \ 208 .platform_name = "pxa-pcm-audio", \
234 .codec_dai_name = "cs4270-hifi", \ 209 .codec_dai_name = "cs4270-hifi", \
235 .codec_name = "cs4270.0-0048", \ 210 .codec_name = "cs4270.0-0048", \
211 .dai_fmt = SND_SOC_DAIFMT_I2S | \
212 SND_SOC_DAIFMT_NB_NF | \
213 SND_SOC_DAIFMT_CBS_CFS, \
236 .ops = &raumfeld_cs4270_ops, \ 214 .ops = &raumfeld_cs4270_ops, \
237} 215}
238 216
@@ -243,6 +221,9 @@ static struct snd_soc_ops raumfeld_ak4104_ops = {
243 .cpu_dai_name = "pxa-ssp-dai.1", \ 221 .cpu_dai_name = "pxa-ssp-dai.1", \
244 .codec_dai_name = "ak4104-hifi", \ 222 .codec_dai_name = "ak4104-hifi", \
245 .platform_name = "pxa-pcm-audio", \ 223 .platform_name = "pxa-pcm-audio", \
224 .dai_fmt = SND_SOC_DAIFMT_I2S | \
225 SND_SOC_DAIFMT_NB_NF | \
226 SND_SOC_DAIFMT_CBS_CFS, \
246 .ops = &raumfeld_ak4104_ops, \ 227 .ops = &raumfeld_ak4104_ops, \
247 .codec_name = "spi0.0", \ 228 .codec_name = "spi0.0", \
248} 229}
diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c
index d7d5fb20ea6f..461123ad5ff2 100644
--- a/sound/soc/pxa/spitz.c
+++ b/sound/soc/pxa/spitz.c
@@ -256,26 +256,6 @@ static const struct snd_kcontrol_new wm8750_spitz_controls[] = {
256 spitz_set_spk), 256 spitz_set_spk),
257}; 257};
258 258
259/*
260 * Logic for a wm8750 as connected on a Sharp SL-Cxx00 Device
261 */
262static int spitz_wm8750_init(struct snd_soc_pcm_runtime *rtd)
263{
264 struct snd_soc_codec *codec = rtd->codec;
265 struct snd_soc_dapm_context *dapm = &codec->dapm;
266
267 /* NC codec pins */
268 snd_soc_dapm_nc_pin(dapm, "RINPUT1");
269 snd_soc_dapm_nc_pin(dapm, "LINPUT2");
270 snd_soc_dapm_nc_pin(dapm, "RINPUT2");
271 snd_soc_dapm_nc_pin(dapm, "LINPUT3");
272 snd_soc_dapm_nc_pin(dapm, "RINPUT3");
273 snd_soc_dapm_nc_pin(dapm, "OUT3");
274 snd_soc_dapm_nc_pin(dapm, "MONO1");
275
276 return 0;
277}
278
279/* spitz digital audio interface glue - connects codec <--> CPU */ 259/* spitz digital audio interface glue - connects codec <--> CPU */
280static struct snd_soc_dai_link spitz_dai = { 260static struct snd_soc_dai_link spitz_dai = {
281 .name = "wm8750", 261 .name = "wm8750",
@@ -284,7 +264,6 @@ static struct snd_soc_dai_link spitz_dai = {
284 .codec_dai_name = "wm8750-hifi", 264 .codec_dai_name = "wm8750-hifi",
285 .platform_name = "pxa-pcm-audio", 265 .platform_name = "pxa-pcm-audio",
286 .codec_name = "wm8750.0-001b", 266 .codec_name = "wm8750.0-001b",
287 .init = spitz_wm8750_init,
288 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 267 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
289 SND_SOC_DAIFMT_CBS_CFS, 268 SND_SOC_DAIFMT_CBS_CFS,
290 .ops = &spitz_ops, 269 .ops = &spitz_ops,
@@ -303,6 +282,7 @@ static struct snd_soc_card snd_soc_spitz = {
303 .num_dapm_widgets = ARRAY_SIZE(wm8750_dapm_widgets), 282 .num_dapm_widgets = ARRAY_SIZE(wm8750_dapm_widgets),
304 .dapm_routes = spitz_audio_map, 283 .dapm_routes = spitz_audio_map,
305 .num_dapm_routes = ARRAY_SIZE(spitz_audio_map), 284 .num_dapm_routes = ARRAY_SIZE(spitz_audio_map),
285 .fully_routed = true,
306}; 286};
307 287
308static int spitz_probe(struct platform_device *pdev) 288static int spitz_probe(struct platform_device *pdev)
@@ -352,7 +332,6 @@ static int spitz_remove(struct platform_device *pdev)
352static struct platform_driver spitz_driver = { 332static struct platform_driver spitz_driver = {
353 .driver = { 333 .driver = {
354 .name = "spitz-audio", 334 .name = "spitz-audio",
355 .owner = THIS_MODULE,
356 .pm = &snd_soc_pm_ops, 335 .pm = &snd_soc_pm_ops,
357 }, 336 },
358 .probe = spitz_probe, 337 .probe = spitz_probe,
diff --git a/sound/soc/pxa/ttc-dkb.c b/sound/soc/pxa/ttc-dkb.c
index e3d7257ad09c..5001dbb9b257 100644
--- a/sound/soc/pxa/ttc-dkb.c
+++ b/sound/soc/pxa/ttc-dkb.c
@@ -76,10 +76,6 @@ static const struct snd_soc_dapm_route ttc_audio_map[] = {
76static int ttc_pm860x_init(struct snd_soc_pcm_runtime *rtd) 76static int ttc_pm860x_init(struct snd_soc_pcm_runtime *rtd)
77{ 77{
78 struct snd_soc_codec *codec = rtd->codec; 78 struct snd_soc_codec *codec = rtd->codec;
79 struct snd_soc_dapm_context *dapm = &codec->dapm;
80
81 snd_soc_dapm_disable_pin(dapm, "Headset Mic 2");
82 snd_soc_dapm_disable_pin(dapm, "Headset Stereophone");
83 79
84 /* Headset jack detection */ 80 /* Headset jack detection */
85 snd_soc_jack_new(codec, "Headphone Jack", SND_JACK_HEADPHONE 81 snd_soc_jack_new(codec, "Headphone Jack", SND_JACK_HEADPHONE
diff --git a/sound/soc/pxa/zylonite.c b/sound/soc/pxa/zylonite.c
index 23bf991e95d5..8f301c72ee5e 100644
--- a/sound/soc/pxa/zylonite.c
+++ b/sound/soc/pxa/zylonite.c
@@ -130,16 +130,6 @@ static int zylonite_voice_hw_params(struct snd_pcm_substream *substream,
130 if (ret < 0) 130 if (ret < 0)
131 return ret; 131 return ret;
132 132
133 ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
134 SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
135 if (ret < 0)
136 return ret;
137
138 ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
139 SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
140 if (ret < 0)
141 return ret;
142
143 return 0; 133 return 0;
144} 134}
145 135
@@ -172,6 +162,8 @@ static struct snd_soc_dai_link zylonite_dai[] = {
172 .platform_name = "pxa-pcm-audio", 162 .platform_name = "pxa-pcm-audio",
173 .cpu_dai_name = "pxa-ssp-dai.2", 163 .cpu_dai_name = "pxa-ssp-dai.2",
174 .codec_dai_name = "wm9713-voice", 164 .codec_dai_name = "wm9713-voice",
165 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
166 SND_SOC_DAIFMT_CBS_CFS,
175 .ops = &zylonite_voice_ops, 167 .ops = &zylonite_voice_ops,
176}, 168},
177}; 169};