aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-09-22 11:26:27 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-09-22 11:26:27 -0400
commitddfb43f3881edb47aa0083651ad31983cdc42c33 (patch)
tree7128cb13b599d2903a4deb05bbae37508b1c261e /sound/soc
parent2d6d649a2e0fa0268c0d03d5b1d330ca7907d33c (diff)
parent5698bd757d55b1bb87edd1a9744ab09c142abfc2 (diff)
Merge tag 'v3.6-rc6' into for-3.7
Linux 3.6-rc6 has all our bug fixes. Conflicts (trivial overlap): sound/soc/omap/am3517evm.c
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/arizona.c2
-rw-r--r--sound/soc/codecs/mc13783.c8
-rw-r--r--sound/soc/codecs/wm8904.c2
-rw-r--r--sound/soc/fsl/imx-sgtl5000.c2
-rw-r--r--sound/soc/samsung/dma.c8
-rw-r--r--sound/soc/soc-dapm.c5
-rw-r--r--sound/soc/spear/spear_pcm.c2
-rw-r--r--sound/soc/tegra/tegra_alc5632.c1
-rw-r--r--sound/soc/tegra/tegra_pcm.c4
-rw-r--r--sound/soc/ux500/ux500_msp_i2s.c25
10 files changed, 20 insertions, 39 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index b79578e7e10c..c167c896eaee 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -492,7 +492,7 @@ static const int arizona_44k1_bclk_rates[] = {
492 940800, 492 940800,
493 1411200, 493 1411200,
494 1881600, 494 1881600,
495 2882400, 495 2822400,
496 3763200, 496 3763200,
497 5644800, 497 5644800,
498 7526400, 498 7526400,
diff --git a/sound/soc/codecs/mc13783.c b/sound/soc/codecs/mc13783.c
index d89e343ff108..bc955999c8aa 100644
--- a/sound/soc/codecs/mc13783.c
+++ b/sound/soc/codecs/mc13783.c
@@ -661,7 +661,7 @@ static struct snd_soc_dai_driver mc13783_dai_async[] = {
661 .id = MC13783_ID_STEREO_DAC, 661 .id = MC13783_ID_STEREO_DAC,
662 .playback = { 662 .playback = {
663 .stream_name = "Playback", 663 .stream_name = "Playback",
664 .channels_min = 1, 664 .channels_min = 2,
665 .channels_max = 2, 665 .channels_max = 2,
666 .rates = SNDRV_PCM_RATE_8000_96000, 666 .rates = SNDRV_PCM_RATE_8000_96000,
667 .formats = MC13783_FORMATS, 667 .formats = MC13783_FORMATS,
@@ -672,7 +672,7 @@ static struct snd_soc_dai_driver mc13783_dai_async[] = {
672 .id = MC13783_ID_STEREO_CODEC, 672 .id = MC13783_ID_STEREO_CODEC,
673 .capture = { 673 .capture = {
674 .stream_name = "Capture", 674 .stream_name = "Capture",
675 .channels_min = 1, 675 .channels_min = 2,
676 .channels_max = 2, 676 .channels_max = 2,
677 .rates = MC13783_RATES_RECORD, 677 .rates = MC13783_RATES_RECORD,
678 .formats = MC13783_FORMATS, 678 .formats = MC13783_FORMATS,
@@ -694,14 +694,14 @@ static struct snd_soc_dai_driver mc13783_dai_sync[] = {
694 .id = MC13783_ID_SYNC, 694 .id = MC13783_ID_SYNC,
695 .playback = { 695 .playback = {
696 .stream_name = "Playback", 696 .stream_name = "Playback",
697 .channels_min = 1, 697 .channels_min = 2,
698 .channels_max = 2, 698 .channels_max = 2,
699 .rates = SNDRV_PCM_RATE_8000_96000, 699 .rates = SNDRV_PCM_RATE_8000_96000,
700 .formats = MC13783_FORMATS, 700 .formats = MC13783_FORMATS,
701 }, 701 },
702 .capture = { 702 .capture = {
703 .stream_name = "Capture", 703 .stream_name = "Capture",
704 .channels_min = 1, 704 .channels_min = 2,
705 .channels_max = 2, 705 .channels_max = 2,
706 .rates = MC13783_RATES_RECORD, 706 .rates = MC13783_RATES_RECORD,
707 .formats = MC13783_FORMATS, 707 .formats = MC13783_FORMATS,
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index 2b9766d55384..7c8df52a8d9d 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -100,7 +100,7 @@ static const struct reg_default wm8904_reg_defaults[] = {
100 { 14, 0x0000 }, /* R14 - Power Management 2 */ 100 { 14, 0x0000 }, /* R14 - Power Management 2 */
101 { 15, 0x0000 }, /* R15 - Power Management 3 */ 101 { 15, 0x0000 }, /* R15 - Power Management 3 */
102 { 18, 0x0000 }, /* R18 - Power Management 6 */ 102 { 18, 0x0000 }, /* R18 - Power Management 6 */
103 { 19, 0x945E }, /* R20 - Clock Rates 0 */ 103 { 20, 0x945E }, /* R20 - Clock Rates 0 */
104 { 21, 0x0C05 }, /* R21 - Clock Rates 1 */ 104 { 21, 0x0C05 }, /* R21 - Clock Rates 1 */
105 { 22, 0x0006 }, /* R22 - Clock Rates 2 */ 105 { 22, 0x0006 }, /* R22 - Clock Rates 2 */
106 { 24, 0x0050 }, /* R24 - Audio Interface 0 */ 106 { 24, 0x0050 }, /* R24 - Audio Interface 0 */
diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c
index fb21b17f17f5..199408ec4261 100644
--- a/sound/soc/fsl/imx-sgtl5000.c
+++ b/sound/soc/fsl/imx-sgtl5000.c
@@ -94,7 +94,7 @@ static int __devinit imx_sgtl5000_probe(struct platform_device *pdev)
94 dev_err(&pdev->dev, "audmux internal port setup failed\n"); 94 dev_err(&pdev->dev, "audmux internal port setup failed\n");
95 return ret; 95 return ret;
96 } 96 }
97 imx_audmux_v2_configure_port(ext_port, 97 ret = imx_audmux_v2_configure_port(ext_port,
98 IMX_AUDMUX_V2_PTCR_SYN, 98 IMX_AUDMUX_V2_PTCR_SYN,
99 IMX_AUDMUX_V2_PDCR_RXDSEL(int_port)); 99 IMX_AUDMUX_V2_PDCR_RXDSEL(int_port));
100 if (ret) { 100 if (ret) {
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c
index f3ebc38c10fe..b70964ea448c 100644
--- a/sound/soc/samsung/dma.c
+++ b/sound/soc/samsung/dma.c
@@ -34,9 +34,7 @@ static const struct snd_pcm_hardware dma_hardware = {
34 .info = SNDRV_PCM_INFO_INTERLEAVED | 34 .info = SNDRV_PCM_INFO_INTERLEAVED |
35 SNDRV_PCM_INFO_BLOCK_TRANSFER | 35 SNDRV_PCM_INFO_BLOCK_TRANSFER |
36 SNDRV_PCM_INFO_MMAP | 36 SNDRV_PCM_INFO_MMAP |
37 SNDRV_PCM_INFO_MMAP_VALID | 37 SNDRV_PCM_INFO_MMAP_VALID,
38 SNDRV_PCM_INFO_PAUSE |
39 SNDRV_PCM_INFO_RESUME,
40 .formats = SNDRV_PCM_FMTBIT_S16_LE | 38 .formats = SNDRV_PCM_FMTBIT_S16_LE |
41 SNDRV_PCM_FMTBIT_U16_LE | 39 SNDRV_PCM_FMTBIT_U16_LE |
42 SNDRV_PCM_FMTBIT_U8 | 40 SNDRV_PCM_FMTBIT_U8 |
@@ -248,15 +246,11 @@ static int dma_trigger(struct snd_pcm_substream *substream, int cmd)
248 246
249 switch (cmd) { 247 switch (cmd) {
250 case SNDRV_PCM_TRIGGER_START: 248 case SNDRV_PCM_TRIGGER_START:
251 case SNDRV_PCM_TRIGGER_RESUME:
252 case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
253 prtd->state |= ST_RUNNING; 249 prtd->state |= ST_RUNNING;
254 prtd->params->ops->trigger(prtd->params->ch); 250 prtd->params->ops->trigger(prtd->params->ch);
255 break; 251 break;
256 252
257 case SNDRV_PCM_TRIGGER_STOP: 253 case SNDRV_PCM_TRIGGER_STOP:
258 case SNDRV_PCM_TRIGGER_SUSPEND:
259 case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
260 prtd->state &= ~ST_RUNNING; 254 prtd->state &= ~ST_RUNNING;
261 prtd->params->ops->stop(prtd->params->ch); 255 prtd->params->ops->stop(prtd->params->ch);
262 break; 256 break;
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index a18d115bc507..873e6e76ee87 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -313,8 +313,11 @@ static int snd_soc_dapm_set_bias_level(struct snd_soc_dapm_context *dapm,
313 if (dapm->codec->driver->set_bias_level) 313 if (dapm->codec->driver->set_bias_level)
314 ret = dapm->codec->driver->set_bias_level(dapm->codec, 314 ret = dapm->codec->driver->set_bias_level(dapm->codec,
315 level); 315 level);
316 } else 316 else
317 dapm->bias_level = level;
318 } else if (!card || dapm != &card->dapm) {
317 dapm->bias_level = level; 319 dapm->bias_level = level;
320 }
318 321
319 if (ret != 0) 322 if (ret != 0)
320 goto out; 323 goto out;
diff --git a/sound/soc/spear/spear_pcm.c b/sound/soc/spear/spear_pcm.c
index 97c2cac8e92c..8c7f23729446 100644
--- a/sound/soc/spear/spear_pcm.c
+++ b/sound/soc/spear/spear_pcm.c
@@ -138,7 +138,7 @@ static void spear_pcm_free(struct snd_pcm *pcm)
138 continue; 138 continue;
139 139
140 buf = &substream->dma_buffer; 140 buf = &substream->dma_buffer;
141 if (!buf && !buf->area) 141 if (!buf || !buf->area)
142 continue; 142 continue;
143 143
144 dma_free_writecombine(pcm->card->dev, buf->bytes, 144 dma_free_writecombine(pcm->card->dev, buf->bytes,
diff --git a/sound/soc/tegra/tegra_alc5632.c b/sound/soc/tegra/tegra_alc5632.c
index e463529b38bb..76cb1b363b71 100644
--- a/sound/soc/tegra/tegra_alc5632.c
+++ b/sound/soc/tegra/tegra_alc5632.c
@@ -89,7 +89,6 @@ static struct snd_soc_jack_gpio tegra_alc5632_hp_jack_gpio = {
89 .name = "Headset detection", 89 .name = "Headset detection",
90 .report = SND_JACK_HEADSET, 90 .report = SND_JACK_HEADSET,
91 .debounce_time = 150, 91 .debounce_time = 150,
92 .invert = 1,
93}; 92};
94 93
95static const struct snd_soc_dapm_widget tegra_alc5632_dapm_widgets[] = { 94static const struct snd_soc_dapm_widget tegra_alc5632_dapm_widgets[] = {
diff --git a/sound/soc/tegra/tegra_pcm.c b/sound/soc/tegra/tegra_pcm.c
index 5658bcec1931..8d6900c1ee47 100644
--- a/sound/soc/tegra/tegra_pcm.c
+++ b/sound/soc/tegra/tegra_pcm.c
@@ -334,11 +334,11 @@ static int tegra_pcm_hw_params(struct snd_pcm_substream *substream,
334 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { 334 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
335 slave_config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; 335 slave_config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
336 slave_config.dst_addr = dmap->addr; 336 slave_config.dst_addr = dmap->addr;
337 slave_config.src_maxburst = 0; 337 slave_config.dst_maxburst = 4;
338 } else { 338 } else {
339 slave_config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; 339 slave_config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
340 slave_config.src_addr = dmap->addr; 340 slave_config.src_addr = dmap->addr;
341 slave_config.dst_maxburst = 0; 341 slave_config.src_maxburst = 4;
342 } 342 }
343 slave_config.slave_id = dmap->req_sel; 343 slave_config.slave_id = dmap->req_sel;
344 344
diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
index 36be11e47ad6..1b7c2f58ce13 100644
--- a/sound/soc/ux500/ux500_msp_i2s.c
+++ b/sound/soc/ux500/ux500_msp_i2s.c
@@ -663,7 +663,6 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
663 struct ux500_msp **msp_p, 663 struct ux500_msp **msp_p,
664 struct msp_i2s_platform_data *platform_data) 664 struct msp_i2s_platform_data *platform_data)
665{ 665{
666 int ret = 0;
667 struct resource *res = NULL; 666 struct resource *res = NULL;
668 struct i2s_controller *i2s_cont; 667 struct i2s_controller *i2s_cont;
669 struct ux500_msp *msp; 668 struct ux500_msp *msp;
@@ -687,15 +686,14 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
687 if (res == NULL) { 686 if (res == NULL) {
688 dev_err(&pdev->dev, "%s: ERROR: Unable to get resource!\n", 687 dev_err(&pdev->dev, "%s: ERROR: Unable to get resource!\n",
689 __func__); 688 __func__);
690 ret = -ENOMEM; 689 return -ENOMEM;
691 goto err_res;
692 } 690 }
693 691
694 msp->registers = ioremap(res->start, (res->end - res->start + 1)); 692 msp->registers = devm_ioremap(&pdev->dev, res->start,
693 resource_size(res));
695 if (msp->registers == NULL) { 694 if (msp->registers == NULL) {
696 dev_err(&pdev->dev, "%s: ERROR: ioremap failed!\n", __func__); 695 dev_err(&pdev->dev, "%s: ERROR: ioremap failed!\n", __func__);
697 ret = -ENOMEM; 696 return -ENOMEM;
698 goto err_res;
699 } 697 }
700 698
701 msp->msp_state = MSP_STATE_IDLE; 699 msp->msp_state = MSP_STATE_IDLE;
@@ -707,7 +705,7 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
707 dev_err(&pdev->dev, 705 dev_err(&pdev->dev,
708 "%s: ERROR: Failed to allocate I2S-controller!\n", 706 "%s: ERROR: Failed to allocate I2S-controller!\n",
709 __func__); 707 __func__);
710 goto err_i2s_cont; 708 return -ENOMEM;
711 } 709 }
712 i2s_cont->dev.parent = &pdev->dev; 710 i2s_cont->dev.parent = &pdev->dev;
713 i2s_cont->data = (void *)msp; 711 i2s_cont->data = (void *)msp;
@@ -718,14 +716,6 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
718 msp->i2s_cont = i2s_cont; 716 msp->i2s_cont = i2s_cont;
719 717
720 return 0; 718 return 0;
721
722err_i2s_cont:
723 iounmap(msp->registers);
724
725err_res:
726 devm_kfree(&pdev->dev, msp);
727
728 return ret;
729} 719}
730 720
731void ux500_msp_i2s_cleanup_msp(struct platform_device *pdev, 721void ux500_msp_i2s_cleanup_msp(struct platform_device *pdev,
@@ -734,11 +724,6 @@ void ux500_msp_i2s_cleanup_msp(struct platform_device *pdev,
734 dev_dbg(msp->dev, "%s: Enter (id = %d).\n", __func__, msp->id); 724 dev_dbg(msp->dev, "%s: Enter (id = %d).\n", __func__, msp->id);
735 725
736 device_unregister(&msp->i2s_cont->dev); 726 device_unregister(&msp->i2s_cont->dev);
737 devm_kfree(&pdev->dev, msp->i2s_cont);
738
739 iounmap(msp->registers);
740
741 devm_kfree(&pdev->dev, msp);
742} 727}
743 728
744MODULE_LICENSE("GPL v2"); 729MODULE_LICENSE("GPL v2");