diff options
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/atmel/atmel_ssc_dai.c | 5 | ||||
-rw-r--r-- | sound/soc/blackfin/bf5xx-ad1836.c | 4 | ||||
-rw-r--r-- | sound/soc/codecs/ad1836.c | 14 | ||||
-rw-r--r-- | sound/soc/codecs/ad1836.h | 6 | ||||
-rw-r--r-- | sound/soc/codecs/wm8804.c | 9 | ||||
-rw-r--r-- | sound/soc/codecs/wm8915.c | 3 | ||||
-rw-r--r-- | sound/soc/codecs/wm8962.c | 4 | ||||
-rw-r--r-- | sound/soc/codecs/wm8991.c | 1 | ||||
-rw-r--r-- | sound/soc/fsl/fsl_dma.c | 9 | ||||
-rw-r--r-- | sound/soc/imx/Kconfig | 7 | ||||
-rw-r--r-- | sound/soc/imx/imx-pcm-dma-mx2.c | 2 | ||||
-rw-r--r-- | sound/soc/imx/imx-ssi.c | 2 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-pcm.c | 4 | ||||
-rw-r--r-- | sound/soc/samsung/i2s.c | 4 | ||||
-rw-r--r-- | sound/soc/soc-cache.c | 6 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 17 |
16 files changed, 52 insertions, 45 deletions
diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c index 7fbfa051f6e1..eda955b15834 100644 --- a/sound/soc/atmel/atmel_ssc_dai.c +++ b/sound/soc/atmel/atmel_ssc_dai.c | |||
@@ -848,9 +848,10 @@ int atmel_ssc_set_audio(int ssc_id) | |||
848 | if (IS_ERR(ssc)) | 848 | if (IS_ERR(ssc)) |
849 | pr_warn("Unable to parent ASoC SSC DAI on SSC: %ld\n", | 849 | pr_warn("Unable to parent ASoC SSC DAI on SSC: %ld\n", |
850 | PTR_ERR(ssc)); | 850 | PTR_ERR(ssc)); |
851 | else | 851 | else { |
852 | ssc_pdev->dev.parent = &(ssc->pdev->dev); | 852 | ssc_pdev->dev.parent = &(ssc->pdev->dev); |
853 | ssc_free(ssc); | 853 | ssc_free(ssc); |
854 | } | ||
854 | 855 | ||
855 | ret = platform_device_add(ssc_pdev); | 856 | ret = platform_device_add(ssc_pdev); |
856 | if (ret < 0) | 857 | if (ret < 0) |
diff --git a/sound/soc/blackfin/bf5xx-ad1836.c b/sound/soc/blackfin/bf5xx-ad1836.c index ea4951cf5526..f79d1655e035 100644 --- a/sound/soc/blackfin/bf5xx-ad1836.c +++ b/sound/soc/blackfin/bf5xx-ad1836.c | |||
@@ -75,7 +75,7 @@ static struct snd_soc_dai_link bf5xx_ad1836_dai[] = { | |||
75 | .cpu_dai_name = "bfin-tdm.0", | 75 | .cpu_dai_name = "bfin-tdm.0", |
76 | .codec_dai_name = "ad1836-hifi", | 76 | .codec_dai_name = "ad1836-hifi", |
77 | .platform_name = "bfin-tdm-pcm-audio", | 77 | .platform_name = "bfin-tdm-pcm-audio", |
78 | .codec_name = "ad1836.0", | 78 | .codec_name = "spi0.4", |
79 | .ops = &bf5xx_ad1836_ops, | 79 | .ops = &bf5xx_ad1836_ops, |
80 | }, | 80 | }, |
81 | { | 81 | { |
@@ -84,7 +84,7 @@ static struct snd_soc_dai_link bf5xx_ad1836_dai[] = { | |||
84 | .cpu_dai_name = "bfin-tdm.1", | 84 | .cpu_dai_name = "bfin-tdm.1", |
85 | .codec_dai_name = "ad1836-hifi", | 85 | .codec_dai_name = "ad1836-hifi", |
86 | .platform_name = "bfin-tdm-pcm-audio", | 86 | .platform_name = "bfin-tdm-pcm-audio", |
87 | .codec_name = "ad1836.0", | 87 | .codec_name = "spi0.4", |
88 | .ops = &bf5xx_ad1836_ops, | 88 | .ops = &bf5xx_ad1836_ops, |
89 | }, | 89 | }, |
90 | }; | 90 | }; |
diff --git a/sound/soc/codecs/ad1836.c b/sound/soc/codecs/ad1836.c index ab63d52e36e1..754c496412bd 100644 --- a/sound/soc/codecs/ad1836.c +++ b/sound/soc/codecs/ad1836.c | |||
@@ -145,22 +145,22 @@ static int ad1836_hw_params(struct snd_pcm_substream *substream, | |||
145 | /* bit size */ | 145 | /* bit size */ |
146 | switch (params_format(params)) { | 146 | switch (params_format(params)) { |
147 | case SNDRV_PCM_FORMAT_S16_LE: | 147 | case SNDRV_PCM_FORMAT_S16_LE: |
148 | word_len = 3; | 148 | word_len = AD1836_WORD_LEN_16; |
149 | break; | 149 | break; |
150 | case SNDRV_PCM_FORMAT_S20_3LE: | 150 | case SNDRV_PCM_FORMAT_S20_3LE: |
151 | word_len = 1; | 151 | word_len = AD1836_WORD_LEN_20; |
152 | break; | 152 | break; |
153 | case SNDRV_PCM_FORMAT_S24_LE: | 153 | case SNDRV_PCM_FORMAT_S24_LE: |
154 | case SNDRV_PCM_FORMAT_S32_LE: | 154 | case SNDRV_PCM_FORMAT_S32_LE: |
155 | word_len = 0; | 155 | word_len = AD1836_WORD_LEN_24; |
156 | break; | 156 | break; |
157 | } | 157 | } |
158 | 158 | ||
159 | snd_soc_update_bits(codec, AD1836_DAC_CTRL1, | 159 | snd_soc_update_bits(codec, AD1836_DAC_CTRL1, AD1836_DAC_WORD_LEN_MASK, |
160 | AD1836_DAC_WORD_LEN_MASK, word_len); | 160 | word_len << AD1836_DAC_WORD_LEN_OFFSET); |
161 | 161 | ||
162 | snd_soc_update_bits(codec, AD1836_ADC_CTRL2, | 162 | snd_soc_update_bits(codec, AD1836_ADC_CTRL2, AD1836_ADC_WORD_LEN_MASK, |
163 | AD1836_ADC_WORD_LEN_MASK, word_len); | 163 | word_len << AD1836_ADC_WORD_OFFSET); |
164 | 164 | ||
165 | return 0; | 165 | return 0; |
166 | } | 166 | } |
diff --git a/sound/soc/codecs/ad1836.h b/sound/soc/codecs/ad1836.h index 845596717fdf..9d6a3f8f8aaf 100644 --- a/sound/soc/codecs/ad1836.h +++ b/sound/soc/codecs/ad1836.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) | 25 | #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) |
26 | #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) | 26 | #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) |
27 | #define AD1836_DAC_WORD_LEN_MASK 0x18 | 27 | #define AD1836_DAC_WORD_LEN_MASK 0x18 |
28 | #define AD1836_DAC_WORD_LEN_OFFSET 3 | ||
28 | 29 | ||
29 | #define AD1836_DAC_CTRL2 1 | 30 | #define AD1836_DAC_CTRL2 1 |
30 | #define AD1836_DACL1_MUTE 0 | 31 | #define AD1836_DACL1_MUTE 0 |
@@ -51,6 +52,7 @@ | |||
51 | #define AD1836_ADCL2_MUTE 2 | 52 | #define AD1836_ADCL2_MUTE 2 |
52 | #define AD1836_ADCR2_MUTE 3 | 53 | #define AD1836_ADCR2_MUTE 3 |
53 | #define AD1836_ADC_WORD_LEN_MASK 0x30 | 54 | #define AD1836_ADC_WORD_LEN_MASK 0x30 |
55 | #define AD1836_ADC_WORD_OFFSET 5 | ||
54 | #define AD1836_ADC_SERFMT_MASK (7 << 6) | 56 | #define AD1836_ADC_SERFMT_MASK (7 << 6) |
55 | #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) | 57 | #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) |
56 | #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) | 58 | #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) |
@@ -60,4 +62,8 @@ | |||
60 | 62 | ||
61 | #define AD1836_NUM_REGS 16 | 63 | #define AD1836_NUM_REGS 16 |
62 | 64 | ||
65 | #define AD1836_WORD_LEN_24 0x0 | ||
66 | #define AD1836_WORD_LEN_20 0x1 | ||
67 | #define AD1836_WORD_LEN_16 0x2 | ||
68 | |||
63 | #endif | 69 | #endif |
diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c index 6785688f8806..9a5e67c5a6bd 100644 --- a/sound/soc/codecs/wm8804.c +++ b/sound/soc/codecs/wm8804.c | |||
@@ -680,20 +680,25 @@ static struct snd_soc_dai_ops wm8804_dai_ops = { | |||
680 | #define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \ | 680 | #define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \ |
681 | SNDRV_PCM_FMTBIT_S24_LE) | 681 | SNDRV_PCM_FMTBIT_S24_LE) |
682 | 682 | ||
683 | #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \ | ||
684 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \ | ||
685 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | \ | ||
686 | SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000) | ||
687 | |||
683 | static struct snd_soc_dai_driver wm8804_dai = { | 688 | static struct snd_soc_dai_driver wm8804_dai = { |
684 | .name = "wm8804-spdif", | 689 | .name = "wm8804-spdif", |
685 | .playback = { | 690 | .playback = { |
686 | .stream_name = "Playback", | 691 | .stream_name = "Playback", |
687 | .channels_min = 2, | 692 | .channels_min = 2, |
688 | .channels_max = 2, | 693 | .channels_max = 2, |
689 | .rates = SNDRV_PCM_RATE_8000_192000, | 694 | .rates = WM8804_RATES, |
690 | .formats = WM8804_FORMATS, | 695 | .formats = WM8804_FORMATS, |
691 | }, | 696 | }, |
692 | .capture = { | 697 | .capture = { |
693 | .stream_name = "Capture", | 698 | .stream_name = "Capture", |
694 | .channels_min = 2, | 699 | .channels_min = 2, |
695 | .channels_max = 2, | 700 | .channels_max = 2, |
696 | .rates = SNDRV_PCM_RATE_8000_192000, | 701 | .rates = WM8804_RATES, |
697 | .formats = WM8804_FORMATS, | 702 | .formats = WM8804_FORMATS, |
698 | }, | 703 | }, |
699 | .ops = &wm8804_dai_ops, | 704 | .ops = &wm8804_dai_ops, |
diff --git a/sound/soc/codecs/wm8915.c b/sound/soc/codecs/wm8915.c index a0b1a7278284..e2ab4fac2819 100644 --- a/sound/soc/codecs/wm8915.c +++ b/sound/soc/codecs/wm8915.c | |||
@@ -1839,7 +1839,7 @@ static int wm8915_set_sysclk(struct snd_soc_dai *dai, | |||
1839 | int old; | 1839 | int old; |
1840 | 1840 | ||
1841 | /* Disable SYSCLK while we reconfigure */ | 1841 | /* Disable SYSCLK while we reconfigure */ |
1842 | old = snd_soc_read(codec, WM8915_AIF_CLOCKING_1); | 1842 | old = snd_soc_read(codec, WM8915_AIF_CLOCKING_1) & WM8915_SYSCLK_ENA; |
1843 | snd_soc_update_bits(codec, WM8915_AIF_CLOCKING_1, | 1843 | snd_soc_update_bits(codec, WM8915_AIF_CLOCKING_1, |
1844 | WM8915_SYSCLK_ENA, 0); | 1844 | WM8915_SYSCLK_ENA, 0); |
1845 | 1845 | ||
@@ -2038,6 +2038,7 @@ static int wm8915_set_fll(struct snd_soc_codec *codec, int fll_id, int source, | |||
2038 | break; | 2038 | break; |
2039 | case WM8915_FLL_MCLK2: | 2039 | case WM8915_FLL_MCLK2: |
2040 | reg = 1; | 2040 | reg = 1; |
2041 | break; | ||
2041 | case WM8915_FLL_DACLRCLK1: | 2042 | case WM8915_FLL_DACLRCLK1: |
2042 | reg = 2; | 2043 | reg = 2; |
2043 | break; | 2044 | break; |
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index f90ae427242b..5e05eed96c38 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c | |||
@@ -1999,12 +1999,12 @@ static int wm8962_put_hp_sw(struct snd_kcontrol *kcontrol, | |||
1999 | return 0; | 1999 | return 0; |
2000 | 2000 | ||
2001 | /* If the left PGA is enabled hit that VU bit... */ | 2001 | /* If the left PGA is enabled hit that VU bit... */ |
2002 | if (reg_cache[WM8962_PWR_MGMT_2] & WM8962_HPOUTL_PGA_ENA) | 2002 | if (snd_soc_read(codec, WM8962_PWR_MGMT_2) & WM8962_HPOUTL_PGA_ENA) |
2003 | return snd_soc_write(codec, WM8962_HPOUTL_VOLUME, | 2003 | return snd_soc_write(codec, WM8962_HPOUTL_VOLUME, |
2004 | reg_cache[WM8962_HPOUTL_VOLUME]); | 2004 | reg_cache[WM8962_HPOUTL_VOLUME]); |
2005 | 2005 | ||
2006 | /* ...otherwise the right. The VU is stereo. */ | 2006 | /* ...otherwise the right. The VU is stereo. */ |
2007 | if (reg_cache[WM8962_PWR_MGMT_2] & WM8962_HPOUTR_PGA_ENA) | 2007 | if (snd_soc_read(codec, WM8962_PWR_MGMT_2) & WM8962_HPOUTR_PGA_ENA) |
2008 | return snd_soc_write(codec, WM8962_HPOUTR_VOLUME, | 2008 | return snd_soc_write(codec, WM8962_HPOUTR_VOLUME, |
2009 | reg_cache[WM8962_HPOUTR_VOLUME]); | 2009 | reg_cache[WM8962_HPOUTR_VOLUME]); |
2010 | 2010 | ||
diff --git a/sound/soc/codecs/wm8991.c b/sound/soc/codecs/wm8991.c index 3c2ee1bb73cd..6af23d06870f 100644 --- a/sound/soc/codecs/wm8991.c +++ b/sound/soc/codecs/wm8991.c | |||
@@ -13,7 +13,6 @@ | |||
13 | 13 | ||
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/moduleparam.h> | 15 | #include <linux/moduleparam.h> |
16 | #include <linux/version.h> | ||
17 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
18 | #include <linux/init.h> | 17 | #include <linux/init.h> |
19 | #include <linux/delay.h> | 18 | #include <linux/delay.h> |
diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c index 15dac0f20cd8..6680c0b4d203 100644 --- a/sound/soc/fsl/fsl_dma.c +++ b/sound/soc/fsl/fsl_dma.c | |||
@@ -310,7 +310,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai, | |||
310 | * should allocate a DMA buffer only for the streams that are valid. | 310 | * should allocate a DMA buffer only for the streams that are valid. |
311 | */ | 311 | */ |
312 | 312 | ||
313 | if (dai->driver->playback.channels_min) { | 313 | if (pcm->streams[0].substream) { |
314 | ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev, | 314 | ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev, |
315 | fsl_dma_hardware.buffer_bytes_max, | 315 | fsl_dma_hardware.buffer_bytes_max, |
316 | &pcm->streams[0].substream->dma_buffer); | 316 | &pcm->streams[0].substream->dma_buffer); |
@@ -320,13 +320,13 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai, | |||
320 | } | 320 | } |
321 | } | 321 | } |
322 | 322 | ||
323 | if (dai->driver->capture.channels_min) { | 323 | if (pcm->streams[1].substream) { |
324 | ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev, | 324 | ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev, |
325 | fsl_dma_hardware.buffer_bytes_max, | 325 | fsl_dma_hardware.buffer_bytes_max, |
326 | &pcm->streams[1].substream->dma_buffer); | 326 | &pcm->streams[1].substream->dma_buffer); |
327 | if (ret) { | 327 | if (ret) { |
328 | snd_dma_free_pages(&pcm->streams[0].substream->dma_buffer); | ||
329 | dev_err(card->dev, "can't alloc capture dma buffer\n"); | 328 | dev_err(card->dev, "can't alloc capture dma buffer\n"); |
329 | snd_dma_free_pages(&pcm->streams[0].substream->dma_buffer); | ||
330 | return ret; | 330 | return ret; |
331 | } | 331 | } |
332 | } | 332 | } |
@@ -449,7 +449,8 @@ static int fsl_dma_open(struct snd_pcm_substream *substream) | |||
449 | dma_private->ld_buf_phys = ld_buf_phys; | 449 | dma_private->ld_buf_phys = ld_buf_phys; |
450 | dma_private->dma_buf_phys = substream->dma_buffer.addr; | 450 | dma_private->dma_buf_phys = substream->dma_buffer.addr; |
451 | 451 | ||
452 | ret = request_irq(dma_private->irq, fsl_dma_isr, 0, "DMA", dma_private); | 452 | ret = request_irq(dma_private->irq, fsl_dma_isr, 0, "fsldma-audio", |
453 | dma_private); | ||
453 | if (ret) { | 454 | if (ret) { |
454 | dev_err(dev, "can't register ISR for IRQ %u (ret=%i)\n", | 455 | dev_err(dev, "can't register ISR for IRQ %u (ret=%i)\n", |
455 | dma_private->irq, ret); | 456 | dma_private->irq, ret); |
diff --git a/sound/soc/imx/Kconfig b/sound/soc/imx/Kconfig index d8f130d39dd9..bb699bb55a50 100644 --- a/sound/soc/imx/Kconfig +++ b/sound/soc/imx/Kconfig | |||
@@ -11,9 +11,6 @@ menuconfig SND_IMX_SOC | |||
11 | 11 | ||
12 | if SND_IMX_SOC | 12 | if SND_IMX_SOC |
13 | 13 | ||
14 | config SND_MXC_SOC_SSI | ||
15 | tristate | ||
16 | |||
17 | config SND_MXC_SOC_FIQ | 14 | config SND_MXC_SOC_FIQ |
18 | tristate | 15 | tristate |
19 | 16 | ||
@@ -24,7 +21,6 @@ config SND_MXC_SOC_WM1133_EV1 | |||
24 | tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted" | 21 | tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted" |
25 | depends on MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL | 22 | depends on MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL |
26 | select SND_SOC_WM8350 | 23 | select SND_SOC_WM8350 |
27 | select SND_MXC_SOC_SSI | ||
28 | select SND_MXC_SOC_FIQ | 24 | select SND_MXC_SOC_FIQ |
29 | help | 25 | help |
30 | Enable support for audio on the i.MX31ADS with the WM1133-EV1 | 26 | Enable support for audio on the i.MX31ADS with the WM1133-EV1 |
@@ -34,7 +30,6 @@ config SND_SOC_MX27VIS_AIC32X4 | |||
34 | tristate "SoC audio support for Visstrim M10 boards" | 30 | tristate "SoC audio support for Visstrim M10 boards" |
35 | depends on MACH_IMX27_VISSTRIM_M10 | 31 | depends on MACH_IMX27_VISSTRIM_M10 |
36 | select SND_SOC_TVL320AIC32X4 | 32 | select SND_SOC_TVL320AIC32X4 |
37 | select SND_MXC_SOC_SSI | ||
38 | select SND_MXC_SOC_MX2 | 33 | select SND_MXC_SOC_MX2 |
39 | help | 34 | help |
40 | Say Y if you want to add support for SoC audio on Visstrim SM10 | 35 | Say Y if you want to add support for SoC audio on Visstrim SM10 |
@@ -44,7 +39,6 @@ config SND_SOC_PHYCORE_AC97 | |||
44 | tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards" | 39 | tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards" |
45 | depends on MACH_PCM043 || MACH_PCA100 | 40 | depends on MACH_PCM043 || MACH_PCA100 |
46 | select SND_SOC_WM9712 | 41 | select SND_SOC_WM9712 |
47 | select SND_MXC_SOC_SSI | ||
48 | select SND_MXC_SOC_FIQ | 42 | select SND_MXC_SOC_FIQ |
49 | help | 43 | help |
50 | Say Y if you want to add support for SoC audio on Phytec phyCORE | 44 | Say Y if you want to add support for SoC audio on Phytec phyCORE |
@@ -57,7 +51,6 @@ config SND_SOC_EUKREA_TLV320 | |||
57 | || MACH_EUKREA_MBIMXSD35_BASEBOARD \ | 51 | || MACH_EUKREA_MBIMXSD35_BASEBOARD \ |
58 | || MACH_EUKREA_MBIMXSD51_BASEBOARD | 52 | || MACH_EUKREA_MBIMXSD51_BASEBOARD |
59 | select SND_SOC_TLV320AIC23 | 53 | select SND_SOC_TLV320AIC23 |
60 | select SND_MXC_SOC_SSI | ||
61 | select SND_MXC_SOC_FIQ | 54 | select SND_MXC_SOC_FIQ |
62 | help | 55 | help |
63 | Enable I2S based access to the TLV320AIC23B codec attached | 56 | Enable I2S based access to the TLV320AIC23B codec attached |
diff --git a/sound/soc/imx/imx-pcm-dma-mx2.c b/sound/soc/imx/imx-pcm-dma-mx2.c index aab7765f401a..4173b3d87f97 100644 --- a/sound/soc/imx/imx-pcm-dma-mx2.c +++ b/sound/soc/imx/imx-pcm-dma-mx2.c | |||
@@ -337,3 +337,5 @@ static void __exit snd_imx_pcm_exit(void) | |||
337 | platform_driver_unregister(&imx_pcm_driver); | 337 | platform_driver_unregister(&imx_pcm_driver); |
338 | } | 338 | } |
339 | module_exit(snd_imx_pcm_exit); | 339 | module_exit(snd_imx_pcm_exit); |
340 | MODULE_LICENSE("GPL"); | ||
341 | MODULE_ALIAS("platform:imx-pcm-audio"); | ||
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c index 5b13feca7537..61fceb09cdb5 100644 --- a/sound/soc/imx/imx-ssi.c +++ b/sound/soc/imx/imx-ssi.c | |||
@@ -774,4 +774,4 @@ module_exit(imx_ssi_exit); | |||
774 | MODULE_AUTHOR("Sascha Hauer, <s.hauer@pengutronix.de>"); | 774 | MODULE_AUTHOR("Sascha Hauer, <s.hauer@pengutronix.de>"); |
775 | MODULE_DESCRIPTION("i.MX I2S/ac97 SoC Interface"); | 775 | MODULE_DESCRIPTION("i.MX I2S/ac97 SoC Interface"); |
776 | MODULE_LICENSE("GPL"); | 776 | MODULE_LICENSE("GPL"); |
777 | 777 | MODULE_ALIAS("platform:imx-ssi"); | |
diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c index 2ce0b2d891d5..fab20a54e863 100644 --- a/sound/soc/pxa/pxa2xx-pcm.c +++ b/sound/soc/pxa/pxa2xx-pcm.c | |||
@@ -95,14 +95,14 @@ static int pxa2xx_soc_pcm_new(struct snd_card *card, struct snd_soc_dai *dai, | |||
95 | if (!card->dev->coherent_dma_mask) | 95 | if (!card->dev->coherent_dma_mask) |
96 | card->dev->coherent_dma_mask = DMA_BIT_MASK(32); | 96 | card->dev->coherent_dma_mask = DMA_BIT_MASK(32); |
97 | 97 | ||
98 | if (dai->driver->playback.channels_min) { | 98 | if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { |
99 | ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, | 99 | ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, |
100 | SNDRV_PCM_STREAM_PLAYBACK); | 100 | SNDRV_PCM_STREAM_PLAYBACK); |
101 | if (ret) | 101 | if (ret) |
102 | goto out; | 102 | goto out; |
103 | } | 103 | } |
104 | 104 | ||
105 | if (dai->driver->capture.channels_min) { | 105 | if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) { |
106 | ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, | 106 | ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, |
107 | SNDRV_PCM_STREAM_CAPTURE); | 107 | SNDRV_PCM_STREAM_CAPTURE); |
108 | if (ret) | 108 | if (ret) |
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index ffa09b3b2caa..992a732b5211 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c | |||
@@ -191,7 +191,7 @@ static inline bool tx_active(struct i2s_dai *i2s) | |||
191 | if (!i2s) | 191 | if (!i2s) |
192 | return false; | 192 | return false; |
193 | 193 | ||
194 | active = readl(i2s->addr + I2SMOD); | 194 | active = readl(i2s->addr + I2SCON); |
195 | 195 | ||
196 | if (is_secondary(i2s)) | 196 | if (is_secondary(i2s)) |
197 | active &= CON_TXSDMA_ACTIVE; | 197 | active &= CON_TXSDMA_ACTIVE; |
@@ -223,7 +223,7 @@ static inline bool rx_active(struct i2s_dai *i2s) | |||
223 | if (!i2s) | 223 | if (!i2s) |
224 | return false; | 224 | return false; |
225 | 225 | ||
226 | active = readl(i2s->addr + I2SMOD) & CON_RXDMA_ACTIVE; | 226 | active = readl(i2s->addr + I2SCON) & CON_RXDMA_ACTIVE; |
227 | 227 | ||
228 | return active ? true : false; | 228 | return active ? true : false; |
229 | } | 229 | } |
diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c index 06b7b81a1601..039b9532b270 100644 --- a/sound/soc/soc-cache.c +++ b/sound/soc/soc-cache.c | |||
@@ -409,9 +409,6 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, | |||
409 | codec->bulk_write_raw = snd_soc_hw_bulk_write_raw; | 409 | codec->bulk_write_raw = snd_soc_hw_bulk_write_raw; |
410 | 410 | ||
411 | switch (control) { | 411 | switch (control) { |
412 | case SND_SOC_CUSTOM: | ||
413 | break; | ||
414 | |||
415 | case SND_SOC_I2C: | 412 | case SND_SOC_I2C: |
416 | #if defined(CONFIG_I2C) || (defined(CONFIG_I2C_MODULE) && defined(MODULE)) | 413 | #if defined(CONFIG_I2C) || (defined(CONFIG_I2C_MODULE) && defined(MODULE)) |
417 | codec->hw_write = (hw_write_t)i2c_master_send; | 414 | codec->hw_write = (hw_write_t)i2c_master_send; |
@@ -466,6 +463,9 @@ static bool snd_soc_set_cache_val(void *base, unsigned int idx, | |||
466 | static unsigned int snd_soc_get_cache_val(const void *base, unsigned int idx, | 463 | static unsigned int snd_soc_get_cache_val(const void *base, unsigned int idx, |
467 | unsigned int word_size) | 464 | unsigned int word_size) |
468 | { | 465 | { |
466 | if (!base) | ||
467 | return -1; | ||
468 | |||
469 | switch (word_size) { | 469 | switch (word_size) { |
470 | case 1: { | 470 | case 1: { |
471 | const u8 *cache = base; | 471 | const u8 *cache = base; |
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 776e6f418306..32ab7fc4579a 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -350,9 +350,9 @@ static int dapm_is_shared_kcontrol(struct snd_soc_dapm_context *dapm, | |||
350 | } | 350 | } |
351 | 351 | ||
352 | /* create new dapm mixer control */ | 352 | /* create new dapm mixer control */ |
353 | static int dapm_new_mixer(struct snd_soc_dapm_context *dapm, | 353 | static int dapm_new_mixer(struct snd_soc_dapm_widget *w) |
354 | struct snd_soc_dapm_widget *w) | ||
355 | { | 354 | { |
355 | struct snd_soc_dapm_context *dapm = w->dapm; | ||
356 | int i, ret = 0; | 356 | int i, ret = 0; |
357 | size_t name_len, prefix_len; | 357 | size_t name_len, prefix_len; |
358 | struct snd_soc_dapm_path *path; | 358 | struct snd_soc_dapm_path *path; |
@@ -450,9 +450,9 @@ static int dapm_new_mixer(struct snd_soc_dapm_context *dapm, | |||
450 | } | 450 | } |
451 | 451 | ||
452 | /* create new dapm mux control */ | 452 | /* create new dapm mux control */ |
453 | static int dapm_new_mux(struct snd_soc_dapm_context *dapm, | 453 | static int dapm_new_mux(struct snd_soc_dapm_widget *w) |
454 | struct snd_soc_dapm_widget *w) | ||
455 | { | 454 | { |
455 | struct snd_soc_dapm_context *dapm = w->dapm; | ||
456 | struct snd_soc_dapm_path *path = NULL; | 456 | struct snd_soc_dapm_path *path = NULL; |
457 | struct snd_kcontrol *kcontrol; | 457 | struct snd_kcontrol *kcontrol; |
458 | struct snd_card *card = dapm->card->snd_card; | 458 | struct snd_card *card = dapm->card->snd_card; |
@@ -535,8 +535,7 @@ static int dapm_new_mux(struct snd_soc_dapm_context *dapm, | |||
535 | } | 535 | } |
536 | 536 | ||
537 | /* create new dapm volume control */ | 537 | /* create new dapm volume control */ |
538 | static int dapm_new_pga(struct snd_soc_dapm_context *dapm, | 538 | static int dapm_new_pga(struct snd_soc_dapm_widget *w) |
539 | struct snd_soc_dapm_widget *w) | ||
540 | { | 539 | { |
541 | if (w->num_kcontrols) | 540 | if (w->num_kcontrols) |
542 | dev_err(w->dapm->dev, | 541 | dev_err(w->dapm->dev, |
@@ -1826,13 +1825,13 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm) | |||
1826 | case snd_soc_dapm_mixer: | 1825 | case snd_soc_dapm_mixer: |
1827 | case snd_soc_dapm_mixer_named_ctl: | 1826 | case snd_soc_dapm_mixer_named_ctl: |
1828 | w->power_check = dapm_generic_check_power; | 1827 | w->power_check = dapm_generic_check_power; |
1829 | dapm_new_mixer(dapm, w); | 1828 | dapm_new_mixer(w); |
1830 | break; | 1829 | break; |
1831 | case snd_soc_dapm_mux: | 1830 | case snd_soc_dapm_mux: |
1832 | case snd_soc_dapm_virt_mux: | 1831 | case snd_soc_dapm_virt_mux: |
1833 | case snd_soc_dapm_value_mux: | 1832 | case snd_soc_dapm_value_mux: |
1834 | w->power_check = dapm_generic_check_power; | 1833 | w->power_check = dapm_generic_check_power; |
1835 | dapm_new_mux(dapm, w); | 1834 | dapm_new_mux(w); |
1836 | break; | 1835 | break; |
1837 | case snd_soc_dapm_adc: | 1836 | case snd_soc_dapm_adc: |
1838 | case snd_soc_dapm_aif_out: | 1837 | case snd_soc_dapm_aif_out: |
@@ -1845,7 +1844,7 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm) | |||
1845 | case snd_soc_dapm_pga: | 1844 | case snd_soc_dapm_pga: |
1846 | case snd_soc_dapm_out_drv: | 1845 | case snd_soc_dapm_out_drv: |
1847 | w->power_check = dapm_generic_check_power; | 1846 | w->power_check = dapm_generic_check_power; |
1848 | dapm_new_pga(dapm, w); | 1847 | dapm_new_pga(w); |
1849 | break; | 1848 | break; |
1850 | case snd_soc_dapm_input: | 1849 | case snd_soc_dapm_input: |
1851 | case snd_soc_dapm_output: | 1850 | case snd_soc_dapm_output: |