diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-09-22 11:26:27 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-09-22 11:26:27 -0400 |
commit | ddfb43f3881edb47aa0083651ad31983cdc42c33 (patch) | |
tree | 7128cb13b599d2903a4deb05bbae37508b1c261e /sound/soc | |
parent | 2d6d649a2e0fa0268c0d03d5b1d330ca7907d33c (diff) | |
parent | 5698bd757d55b1bb87edd1a9744ab09c142abfc2 (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.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/mc13783.c | 8 | ||||
-rw-r--r-- | sound/soc/codecs/wm8904.c | 2 | ||||
-rw-r--r-- | sound/soc/fsl/imx-sgtl5000.c | 2 | ||||
-rw-r--r-- | sound/soc/samsung/dma.c | 8 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 5 | ||||
-rw-r--r-- | sound/soc/spear/spear_pcm.c | 2 | ||||
-rw-r--r-- | sound/soc/tegra/tegra_alc5632.c | 1 | ||||
-rw-r--r-- | sound/soc/tegra/tegra_pcm.c | 4 | ||||
-rw-r--r-- | sound/soc/ux500/ux500_msp_i2s.c | 25 |
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 | ||
95 | static const struct snd_soc_dapm_widget tegra_alc5632_dapm_widgets[] = { | 94 | static 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 | |||
722 | err_i2s_cont: | ||
723 | iounmap(msp->registers); | ||
724 | |||
725 | err_res: | ||
726 | devm_kfree(&pdev->dev, msp); | ||
727 | |||
728 | return ret; | ||
729 | } | 719 | } |
730 | 720 | ||
731 | void ux500_msp_i2s_cleanup_msp(struct platform_device *pdev, | 721 | void 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 | ||
744 | MODULE_LICENSE("GPL v2"); | 729 | MODULE_LICENSE("GPL v2"); |