aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-07-23 05:45:07 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-07-23 05:45:07 -0400
commit15d47763b354256053c390a9b7bc9f2b4f197711 (patch)
tree6f516e0d3a3d5fb0174d06dfd6db268f4eb5b8ed /sound/soc
parent0ff97ebf0804d2e519d578fcb4db03f104d2ca8c (diff)
parentd66a547cddb9124cea6308c33e1f54c7c8db288f (diff)
Merge branch 'for-3.5' into for-3.6
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/tlv320aic3x.c4
-rw-r--r--sound/soc/codecs/tlv320aic3x.h1
-rw-r--r--sound/soc/codecs/wm2200.c1
-rw-r--r--sound/soc/codecs/wm8994.c3
-rw-r--r--sound/soc/omap/omap-mcpdm.c1
-rw-r--r--sound/soc/pxa/mioa701_wm9713.c33
-rw-r--r--sound/soc/soc-dapm.c18
7 files changed, 27 insertions, 34 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index b94f81ffed3..dc78f5a4bcb 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -965,9 +965,7 @@ static int aic3x_hw_params(struct snd_pcm_substream *substream,
965 } 965 }
966 966
967found: 967found:
968 data = snd_soc_read(codec, AIC3X_PLL_PROGA_REG); 968 snd_soc_update_bits(codec, AIC3X_PLL_PROGA_REG, PLLP_MASK, pll_p);
969 snd_soc_write(codec, AIC3X_PLL_PROGA_REG,
970 data | (pll_p << PLLP_SHIFT));
971 snd_soc_write(codec, AIC3X_OVRF_STATUS_AND_PLLR_REG, 969 snd_soc_write(codec, AIC3X_OVRF_STATUS_AND_PLLR_REG,
972 pll_r << PLLR_SHIFT); 970 pll_r << PLLR_SHIFT);
973 snd_soc_write(codec, AIC3X_PLL_PROGB_REG, pll_j << PLLJ_SHIFT); 971 snd_soc_write(codec, AIC3X_PLL_PROGB_REG, pll_j << PLLJ_SHIFT);
diff --git a/sound/soc/codecs/tlv320aic3x.h b/sound/soc/codecs/tlv320aic3x.h
index 149338b254f..6db3c41b016 100644
--- a/sound/soc/codecs/tlv320aic3x.h
+++ b/sound/soc/codecs/tlv320aic3x.h
@@ -183,6 +183,7 @@
183 183
184/* PLL registers bitfields */ 184/* PLL registers bitfields */
185#define PLLP_SHIFT 0 185#define PLLP_SHIFT 0
186#define PLLP_MASK 7
186#define PLLQ_SHIFT 3 187#define PLLQ_SHIFT 3
187#define PLLR_SHIFT 0 188#define PLLR_SHIFT 0
188#define PLLJ_SHIFT 2 189#define PLLJ_SHIFT 2
diff --git a/sound/soc/codecs/wm2200.c b/sound/soc/codecs/wm2200.c
index acbdc5fde92..32682c1b7cd 100644
--- a/sound/soc/codecs/wm2200.c
+++ b/sound/soc/codecs/wm2200.c
@@ -1491,6 +1491,7 @@ static int wm2200_bclk_rates_dat[WM2200_NUM_BCLK_RATES] = {
1491 1491
1492static int wm2200_bclk_rates_cd[WM2200_NUM_BCLK_RATES] = { 1492static int wm2200_bclk_rates_cd[WM2200_NUM_BCLK_RATES] = {
1493 5644800, 1493 5644800,
1494 3763200,
1494 2882400, 1495 2882400,
1495 1881600, 1496 1881600,
1496 1411200, 1497 1411200,
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 65763388649..bb62f4b3d56 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -727,9 +727,6 @@ static void wm1811_jackdet_set_mode(struct snd_soc_codec *codec, u16 mode)
727 if (!wm8994->jackdet || !wm8994->jack_cb) 727 if (!wm8994->jackdet || !wm8994->jack_cb)
728 return; 728 return;
729 729
730 if (!wm8994->jackdet || !wm8994->jack_cb)
731 return;
732
733 if (wm8994->active_refcount) 730 if (wm8994->active_refcount)
734 mode = WM1811_JACKDET_MODE_AUDIO; 731 mode = WM1811_JACKDET_MODE_AUDIO;
735 732
diff --git a/sound/soc/omap/omap-mcpdm.c b/sound/soc/omap/omap-mcpdm.c
index 59d47ab5b15..2c66e2498a4 100644
--- a/sound/soc/omap/omap-mcpdm.c
+++ b/sound/soc/omap/omap-mcpdm.c
@@ -527,6 +527,7 @@ static struct platform_driver asoc_mcpdm_driver = {
527 527
528module_platform_driver(asoc_mcpdm_driver); 528module_platform_driver(asoc_mcpdm_driver);
529 529
530MODULE_ALIAS("platform:omap-mcpdm");
530MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>"); 531MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>");
531MODULE_DESCRIPTION("OMAP PDM SoC Interface"); 532MODULE_DESCRIPTION("OMAP PDM SoC Interface");
532MODULE_LICENSE("GPL"); 533MODULE_LICENSE("GPL");
diff --git a/sound/soc/pxa/mioa701_wm9713.c b/sound/soc/pxa/mioa701_wm9713.c
index 9c585af59b5..8687c1c65d2 100644
--- a/sound/soc/pxa/mioa701_wm9713.c
+++ b/sound/soc/pxa/mioa701_wm9713.c
@@ -186,36 +186,27 @@ static struct snd_soc_card mioa701 = {
186 .num_links = ARRAY_SIZE(mioa701_dai), 186 .num_links = ARRAY_SIZE(mioa701_dai),
187}; 187};
188 188
189static struct platform_device *mioa701_snd_device; 189static int __devinit mioa701_wm9713_probe(struct platform_device *pdev)
190
191static int mioa701_wm9713_probe(struct platform_device *pdev)
192{ 190{
193 int ret; 191 int rc;
194 192
195 if (!machine_is_mioa701()) 193 if (!machine_is_mioa701())
196 return -ENODEV; 194 return -ENODEV;
197 195
198 dev_warn(&pdev->dev, "Be warned that incorrect mixers/muxes setup will" 196 mioa701.dev = &pdev->dev;
199 "lead to overheating and possible destruction of your device." 197 rc = snd_soc_register_card(&mioa701);
200 "Do not use without a good knowledge of mio's board design!\n"); 198 if (!rc)
201 199 dev_warn(&pdev->dev, "Be warned that incorrect mixers/muxes setup will"
202 mioa701_snd_device = platform_device_alloc("soc-audio", -1); 200 "lead to overheating and possible destruction of your device."
203 if (!mioa701_snd_device) 201 " Do not use without a good knowledge of mio's board design!\n");
204 return -ENOMEM; 202 return rc;
205
206 platform_set_drvdata(mioa701_snd_device, &mioa701);
207
208 ret = platform_device_add(mioa701_snd_device);
209 if (!ret)
210 return 0;
211
212 platform_device_put(mioa701_snd_device);
213 return ret;
214} 203}
215 204
216static int __devexit mioa701_wm9713_remove(struct platform_device *pdev) 205static int __devexit mioa701_wm9713_remove(struct platform_device *pdev)
217{ 206{
218 platform_device_unregister(mioa701_snd_device); 207 struct snd_soc_card *card = platform_get_drvdata(pdev);
208
209 snd_soc_unregister_card(card);
219 return 0; 210 return 0;
220} 211}
221 212
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 025060b26fb..4d181df95dc 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -291,9 +291,9 @@ static int snd_soc_dapm_set_bias_level(struct snd_soc_dapm_context *dapm,
291 if (dapm->codec->driver->set_bias_level) 291 if (dapm->codec->driver->set_bias_level)
292 ret = dapm->codec->driver->set_bias_level(dapm->codec, 292 ret = dapm->codec->driver->set_bias_level(dapm->codec,
293 level); 293 level);
294 else 294 } else
295 dapm->bias_level = level; 295 dapm->bias_level = level;
296 } 296
297 if (ret != 0) 297 if (ret != 0)
298 goto out; 298 goto out;
299 299
@@ -324,11 +324,10 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w,
324 324
325 val = soc_widget_read(w, reg); 325 val = soc_widget_read(w, reg);
326 val = (val >> shift) & mask; 326 val = (val >> shift) & mask;
327 if (invert)
328 val = max - val;
327 329
328 if ((invert && !val) || (!invert && val)) 330 p->connect = !!val;
329 p->connect = 1;
330 else
331 p->connect = 0;
332 } 331 }
333 break; 332 break;
334 case snd_soc_dapm_mux: { 333 case snd_soc_dapm_mux: {
@@ -3668,10 +3667,13 @@ EXPORT_SYMBOL_GPL(snd_soc_dapm_free);
3668 3667
3669static void soc_dapm_shutdown_codec(struct snd_soc_dapm_context *dapm) 3668static void soc_dapm_shutdown_codec(struct snd_soc_dapm_context *dapm)
3670{ 3669{
3670 struct snd_soc_card *card = dapm->card;
3671 struct snd_soc_dapm_widget *w; 3671 struct snd_soc_dapm_widget *w;
3672 LIST_HEAD(down_list); 3672 LIST_HEAD(down_list);
3673 int powerdown = 0; 3673 int powerdown = 0;
3674 3674
3675 mutex_lock(&card->dapm_mutex);
3676
3675 list_for_each_entry(w, &dapm->card->widgets, list) { 3677 list_for_each_entry(w, &dapm->card->widgets, list) {
3676 if (w->dapm != dapm) 3678 if (w->dapm != dapm)
3677 continue; 3679 continue;
@@ -3694,6 +3696,8 @@ static void soc_dapm_shutdown_codec(struct snd_soc_dapm_context *dapm)
3694 snd_soc_dapm_set_bias_level(dapm, 3696 snd_soc_dapm_set_bias_level(dapm,
3695 SND_SOC_BIAS_STANDBY); 3697 SND_SOC_BIAS_STANDBY);
3696 } 3698 }
3699
3700 mutex_unlock(&card->dapm_mutex);
3697} 3701}
3698 3702
3699/* 3703/*