diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-23 05:45:07 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-23 05:45:07 -0400 |
commit | 15d47763b354256053c390a9b7bc9f2b4f197711 (patch) | |
tree | 6f516e0d3a3d5fb0174d06dfd6db268f4eb5b8ed /sound/soc | |
parent | 0ff97ebf0804d2e519d578fcb4db03f104d2ca8c (diff) | |
parent | d66a547cddb9124cea6308c33e1f54c7c8db288f (diff) |
Merge branch 'for-3.5' into for-3.6
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/tlv320aic3x.c | 4 | ||||
-rw-r--r-- | sound/soc/codecs/tlv320aic3x.h | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm2200.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm8994.c | 3 | ||||
-rw-r--r-- | sound/soc/omap/omap-mcpdm.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/mioa701_wm9713.c | 33 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 18 |
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 | ||
967 | found: | 967 | found: |
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 | ||
1492 | static int wm2200_bclk_rates_cd[WM2200_NUM_BCLK_RATES] = { | 1492 | static 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 | ||
528 | module_platform_driver(asoc_mcpdm_driver); | 528 | module_platform_driver(asoc_mcpdm_driver); |
529 | 529 | ||
530 | MODULE_ALIAS("platform:omap-mcpdm"); | ||
530 | MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>"); | 531 | MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>"); |
531 | MODULE_DESCRIPTION("OMAP PDM SoC Interface"); | 532 | MODULE_DESCRIPTION("OMAP PDM SoC Interface"); |
532 | MODULE_LICENSE("GPL"); | 533 | MODULE_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 | ||
189 | static struct platform_device *mioa701_snd_device; | 189 | static int __devinit mioa701_wm9713_probe(struct platform_device *pdev) |
190 | |||
191 | static 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 | ||
216 | static int __devexit mioa701_wm9713_remove(struct platform_device *pdev) | 205 | static 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 | ||
3669 | static void soc_dapm_shutdown_codec(struct snd_soc_dapm_context *dapm) | 3668 | static 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 | /* |