diff options
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/au1x/dbdma2.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/Makefile | 1 | ||||
-rw-r--r-- | sound/soc/codecs/twl4030.c | 8 | ||||
-rw-r--r-- | sound/soc/codecs/wm8350.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/wm8580.c | 16 | ||||
-rw-r--r-- | sound/soc/fsl/mpc5200_psc_i2s.c | 3 | ||||
-rw-r--r-- | sound/soc/s3c24xx/s3c-i2s-v2.c | 3 | ||||
-rw-r--r-- | sound/soc/sh/dma-sh7760.c | 3 |
8 files changed, 25 insertions, 13 deletions
diff --git a/sound/soc/au1x/dbdma2.c b/sound/soc/au1x/dbdma2.c index 30490a259148..594c6c5b7838 100644 --- a/sound/soc/au1x/dbdma2.c +++ b/sound/soc/au1x/dbdma2.c | |||
@@ -82,7 +82,7 @@ static struct au1xpsc_audio_dmadata *au1xpsc_audio_pcmdma[2]; | |||
82 | /* PCM hardware DMA capabilities - platform specific */ | 82 | /* PCM hardware DMA capabilities - platform specific */ |
83 | static const struct snd_pcm_hardware au1xpsc_pcm_hardware = { | 83 | static const struct snd_pcm_hardware au1xpsc_pcm_hardware = { |
84 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | | 84 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | |
85 | SNDRV_PCM_INFO_INTERLEAVED, | 85 | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BATCH, |
86 | .formats = AU1XPSC_PCM_FMTS, | 86 | .formats = AU1XPSC_PCM_FMTS, |
87 | .period_bytes_min = AU1XPSC_PERIOD_MIN_BYTES, | 87 | .period_bytes_min = AU1XPSC_PERIOD_MIN_BYTES, |
88 | .period_bytes_max = 4096 * 1024 - 1, | 88 | .period_bytes_max = 4096 * 1024 - 1, |
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile index 030d2454725f..f2653803ede8 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile | |||
@@ -56,7 +56,6 @@ obj-$(CONFIG_SND_SOC_WM8900) += snd-soc-wm8900.o | |||
56 | obj-$(CONFIG_SND_SOC_WM8903) += snd-soc-wm8903.o | 56 | obj-$(CONFIG_SND_SOC_WM8903) += snd-soc-wm8903.o |
57 | obj-$(CONFIG_SND_SOC_WM8971) += snd-soc-wm8971.o | 57 | obj-$(CONFIG_SND_SOC_WM8971) += snd-soc-wm8971.o |
58 | obj-$(CONFIG_SND_SOC_WM8990) += snd-soc-wm8990.o | 58 | obj-$(CONFIG_SND_SOC_WM8990) += snd-soc-wm8990.o |
59 | obj-$(CONFIG_SND_SOC_WM8991) += snd-soc-wm8991.o | ||
60 | obj-$(CONFIG_SND_SOC_WM9705) += snd-soc-wm9705.o | 59 | obj-$(CONFIG_SND_SOC_WM9705) += snd-soc-wm9705.o |
61 | obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-wm9712.o | 60 | obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-wm9712.o |
62 | obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o | 61 | obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o |
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c index 921b205de28a..df7c8c281d2f 100644 --- a/sound/soc/codecs/twl4030.c +++ b/sound/soc/codecs/twl4030.c | |||
@@ -836,6 +836,12 @@ static DECLARE_TLV_DB_SCALE(analog_tlv, -2400, 200, 0); | |||
836 | static DECLARE_TLV_DB_SCALE(output_tvl, -1200, 600, 1); | 836 | static DECLARE_TLV_DB_SCALE(output_tvl, -1200, 600, 1); |
837 | 837 | ||
838 | /* | 838 | /* |
839 | * Gain control for earpiece amplifier | ||
840 | * 0 dB to 12 dB in 6 dB steps (mute instead of -6) | ||
841 | */ | ||
842 | static DECLARE_TLV_DB_SCALE(output_ear_tvl, -600, 600, 1); | ||
843 | |||
844 | /* | ||
839 | * Capture gain after the ADCs | 845 | * Capture gain after the ADCs |
840 | * from 0 dB to 31 dB in 1 dB steps | 846 | * from 0 dB to 31 dB in 1 dB steps |
841 | */ | 847 | */ |
@@ -900,7 +906,7 @@ static const struct snd_kcontrol_new twl4030_snd_controls[] = { | |||
900 | 4, 3, 0, output_tvl), | 906 | 4, 3, 0, output_tvl), |
901 | 907 | ||
902 | SOC_SINGLE_TLV_TWL4030("Earpiece Playback Volume", | 908 | SOC_SINGLE_TLV_TWL4030("Earpiece Playback Volume", |
903 | TWL4030_REG_EAR_CTL, 4, 3, 0, output_tvl), | 909 | TWL4030_REG_EAR_CTL, 4, 3, 0, output_ear_tvl), |
904 | 910 | ||
905 | /* Common capture gain controls */ | 911 | /* Common capture gain controls */ |
906 | SOC_DOUBLE_R_TLV("TX1 Digital Capture Volume", | 912 | SOC_DOUBLE_R_TLV("TX1 Digital Capture Volume", |
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c index 3b1d0993bed9..0275321ff8ab 100644 --- a/sound/soc/codecs/wm8350.c +++ b/sound/soc/codecs/wm8350.c | |||
@@ -968,7 +968,7 @@ static int wm8350_pcm_trigger(struct snd_pcm_substream *substream, | |||
968 | * required for LRC in master mode. The DACs or ADCs need a | 968 | * required for LRC in master mode. The DACs or ADCs need a |
969 | * valid audio path i.e. pin -> ADC or DAC -> pin before | 969 | * valid audio path i.e. pin -> ADC or DAC -> pin before |
970 | * the LRC will be enabled in master mode. */ | 970 | * the LRC will be enabled in master mode. */ |
971 | if (!master && cmd != SNDRV_PCM_TRIGGER_START) | 971 | if (!master || cmd != SNDRV_PCM_TRIGGER_START) |
972 | return 0; | 972 | return 0; |
973 | 973 | ||
974 | if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { | 974 | if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { |
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c index 442ea6f160fc..9f6be3d31ac0 100644 --- a/sound/soc/codecs/wm8580.c +++ b/sound/soc/codecs/wm8580.c | |||
@@ -268,9 +268,11 @@ static const DECLARE_TLV_DB_SCALE(dac_tlv, -12750, 50, 1); | |||
268 | static int wm8580_out_vu(struct snd_kcontrol *kcontrol, | 268 | static int wm8580_out_vu(struct snd_kcontrol *kcontrol, |
269 | struct snd_ctl_elem_value *ucontrol) | 269 | struct snd_ctl_elem_value *ucontrol) |
270 | { | 270 | { |
271 | struct soc_mixer_control *mc = | ||
272 | (struct soc_mixer_control *)kcontrol->private_value; | ||
271 | struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); | 273 | struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); |
272 | int reg = kcontrol->private_value & 0xff; | 274 | unsigned int reg = mc->reg; |
273 | int reg2 = (kcontrol->private_value >> 24) & 0xff; | 275 | unsigned int reg2 = mc->rreg; |
274 | int ret; | 276 | int ret; |
275 | u16 val; | 277 | u16 val; |
276 | 278 | ||
@@ -292,15 +294,17 @@ static int wm8580_out_vu(struct snd_kcontrol *kcontrol, | |||
292 | return 0; | 294 | return 0; |
293 | } | 295 | } |
294 | 296 | ||
295 | #define SOC_WM8580_OUT_DOUBLE_R_TLV(xname, reg_left, reg_right, shift, max, invert, tlv_array) \ | 297 | #define SOC_WM8580_OUT_DOUBLE_R_TLV(xname, reg_left, reg_right, xshift, xmax, \ |
298 | xinvert, tlv_array) \ | ||
296 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ | 299 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ |
297 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ | 300 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ |
298 | SNDRV_CTL_ELEM_ACCESS_READWRITE, \ | 301 | SNDRV_CTL_ELEM_ACCESS_READWRITE, \ |
299 | .tlv.p = (tlv_array), \ | 302 | .tlv.p = (tlv_array), \ |
300 | .info = snd_soc_info_volsw_2r, \ | 303 | .info = snd_soc_info_volsw_2r, \ |
301 | .get = snd_soc_get_volsw_2r, .put = wm8580_out_vu, \ | 304 | .get = snd_soc_get_volsw_2r, .put = wm8580_out_vu, \ |
302 | .private_value = (reg_left) | ((shift) << 8) | \ | 305 | .private_value = (unsigned long)&(struct soc_mixer_control) \ |
303 | ((max) << 12) | ((invert) << 20) | ((reg_right) << 24) } | 306 | {.reg = reg_left, .rreg = reg_right, .shift = xshift, \ |
307 | .max = xmax, .invert = xinvert} } | ||
304 | 308 | ||
305 | static const struct snd_kcontrol_new wm8580_snd_controls[] = { | 309 | static const struct snd_kcontrol_new wm8580_snd_controls[] = { |
306 | SOC_WM8580_OUT_DOUBLE_R_TLV("DAC1 Playback Volume", | 310 | SOC_WM8580_OUT_DOUBLE_R_TLV("DAC1 Playback Volume", |
@@ -522,7 +526,7 @@ static int wm8580_set_dai_pll(struct snd_soc_dai *codec_dai, | |||
522 | reg = wm8580_read(codec, WM8580_PLLA4 + offset); | 526 | reg = wm8580_read(codec, WM8580_PLLA4 + offset); |
523 | reg &= ~0x3f; | 527 | reg &= ~0x3f; |
524 | reg |= pll_div.prescale | pll_div.postscale << 1 | | 528 | reg |= pll_div.prescale | pll_div.postscale << 1 | |
525 | pll_div.freqmode << 4; | 529 | pll_div.freqmode << 3; |
526 | 530 | ||
527 | wm8580_write(codec, WM8580_PLLA4 + offset, reg); | 531 | wm8580_write(codec, WM8580_PLLA4 + offset, reg); |
528 | 532 | ||
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c index 3aa729df27b5..1111c710118a 100644 --- a/sound/soc/fsl/mpc5200_psc_i2s.c +++ b/sound/soc/fsl/mpc5200_psc_i2s.c | |||
@@ -504,7 +504,8 @@ static struct snd_soc_dai psc_i2s_dai_template = { | |||
504 | 504 | ||
505 | static const struct snd_pcm_hardware psc_i2s_pcm_hardware = { | 505 | static const struct snd_pcm_hardware psc_i2s_pcm_hardware = { |
506 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | | 506 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | |
507 | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER, | 507 | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
508 | SNDRV_PCM_INFO_BATCH, | ||
508 | .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | | 509 | .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | |
509 | SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE, | 510 | SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE, |
510 | .rate_min = 8000, | 511 | .rate_min = 8000, |
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c index 689ffcd17e1f..ab680aac3fcb 100644 --- a/sound/soc/s3c24xx/s3c-i2s-v2.c +++ b/sound/soc/s3c24xx/s3c-i2s-v2.c | |||
@@ -636,5 +636,6 @@ int s3c_i2sv2_register_dai(struct snd_soc_dai *dai) | |||
636 | 636 | ||
637 | return snd_soc_register_dai(dai); | 637 | return snd_soc_register_dai(dai); |
638 | } | 638 | } |
639 | |||
640 | EXPORT_SYMBOL_GPL(s3c_i2sv2_register_dai); | 639 | EXPORT_SYMBOL_GPL(s3c_i2sv2_register_dai); |
640 | |||
641 | MODULE_LICENSE("GPL"); | ||
diff --git a/sound/soc/sh/dma-sh7760.c b/sound/soc/sh/dma-sh7760.c index 0dad3a0bb920..baddb1242c71 100644 --- a/sound/soc/sh/dma-sh7760.c +++ b/sound/soc/sh/dma-sh7760.c | |||
@@ -103,7 +103,8 @@ static struct snd_pcm_hardware camelot_pcm_hardware = { | |||
103 | .info = (SNDRV_PCM_INFO_MMAP | | 103 | .info = (SNDRV_PCM_INFO_MMAP | |
104 | SNDRV_PCM_INFO_INTERLEAVED | | 104 | SNDRV_PCM_INFO_INTERLEAVED | |
105 | SNDRV_PCM_INFO_BLOCK_TRANSFER | | 105 | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
106 | SNDRV_PCM_INFO_MMAP_VALID), | 106 | SNDRV_PCM_INFO_MMAP_VALID | |
107 | SNDRV_PCM_INFO_BATCH), | ||
107 | .formats = DMABRG_FMTS, | 108 | .formats = DMABRG_FMTS, |
108 | .rates = DMABRG_RATES, | 109 | .rates = DMABRG_RATES, |
109 | .rate_min = 8000, | 110 | .rate_min = 8000, |