aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-15 09:56:40 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-15 09:56:40 -0400
commitec62dbd7eb8e3dddb221da89ecbcea0fc3dee8c1 (patch)
treec7fcfd4ad7ad1875e611db3a2bd75d64f603c355 /sound/soc
parent6bfb6aa91f61f2a7c526a6353c8c50676ca528da (diff)
parenta532f97c71c7a952531e02b0994104c532fbef0f (diff)
Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.37
Trivial overlap with the removal of the local revision variable. Conflicts: sound/soc/codecs/wm8994.c
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/blackfin/Kconfig7
-rw-r--r--sound/soc/blackfin/bf5xx-ad1980.c10
-rw-r--r--sound/soc/codecs/ad1980.c10
-rw-r--r--sound/soc/codecs/ad1980.h6
-rw-r--r--sound/soc/codecs/wm8580.c6
-rw-r--r--sound/soc/codecs/wm8994.c24
-rw-r--r--sound/soc/imx/Kconfig4
-rw-r--r--sound/soc/soc-cache.c4
8 files changed, 54 insertions, 17 deletions
diff --git a/sound/soc/blackfin/Kconfig b/sound/soc/blackfin/Kconfig
index 8ef25025f3dc..3abeeddc67d3 100644
--- a/sound/soc/blackfin/Kconfig
+++ b/sound/soc/blackfin/Kconfig
@@ -105,13 +105,18 @@ config SND_BF5XX_RESET_GPIO_NUM
105 Set the correct GPIO for RESET the sound chip. 105 Set the correct GPIO for RESET the sound chip.
106 106
107config SND_BF5XX_SOC_AD1980 107config SND_BF5XX_SOC_AD1980
108 tristate "SoC AD1980/1 Audio support for BF5xx" 108 tristate "SoC AD1980/1 Audio support for BF5xx (Obsolete)"
109 depends on SND_BF5XX_AC97 109 depends on SND_BF5XX_AC97
110 select SND_BF5XX_SOC_AC97 110 select SND_BF5XX_SOC_AC97
111 select SND_SOC_AD1980 111 select SND_SOC_AD1980
112 help 112 help
113 Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT. 113 Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT.
114 114
115 Warning:
116 Because Analog Devices Inc. discontinued the ad1980 sound chip since
117 Sep. 2009, this ad1980 driver is not maintained, tested and supported
118 by ADI now.
119
115config SND_BF5XX_SOC_SPORT 120config SND_BF5XX_SOC_SPORT
116 tristate 121 tristate
117 122
diff --git a/sound/soc/blackfin/bf5xx-ad1980.c b/sound/soc/blackfin/bf5xx-ad1980.c
index a31bdf656fce..d57c9c9c9883 100644
--- a/sound/soc/blackfin/bf5xx-ad1980.c
+++ b/sound/soc/blackfin/bf5xx-ad1980.c
@@ -26,6 +26,14 @@
26 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 26 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27 */ 27 */
28 28
29/*
30 * WARNING:
31 *
32 * Because Analog Devices Inc. discontinued the ad1980 sound chip since
33 * Sep. 2009, this ad1980 driver is not maintained, tested and supported
34 * by ADI now.
35 */
36
29#include <linux/module.h> 37#include <linux/module.h>
30#include <linux/moduleparam.h> 38#include <linux/moduleparam.h>
31#include <linux/device.h> 39#include <linux/device.h>
@@ -104,5 +112,5 @@ module_exit(bf5xx_board_exit);
104 112
105/* Module information */ 113/* Module information */
106MODULE_AUTHOR("Cliff Cai"); 114MODULE_AUTHOR("Cliff Cai");
107MODULE_DESCRIPTION("ALSA SoC AD1980/1 BF5xx board"); 115MODULE_DESCRIPTION("ALSA SoC AD1980/1 BF5xx board (Obsolete)");
108MODULE_LICENSE("GPL"); 116MODULE_LICENSE("GPL");
diff --git a/sound/soc/codecs/ad1980.c b/sound/soc/codecs/ad1980.c
index 1371afac657b..81a444049936 100644
--- a/sound/soc/codecs/ad1980.c
+++ b/sound/soc/codecs/ad1980.c
@@ -11,6 +11,14 @@
11 * option) any later version. 11 * option) any later version.
12 */ 12 */
13 13
14/*
15 * WARNING:
16 *
17 * Because Analog Devices Inc. discontinued the ad1980 sound chip since
18 * Sep. 2009, this ad1980 driver is not maintained, tested and supported
19 * by ADI now.
20 */
21
14#include <linux/init.h> 22#include <linux/init.h>
15#include <linux/slab.h> 23#include <linux/slab.h>
16#include <linux/module.h> 24#include <linux/module.h>
@@ -283,6 +291,6 @@ static void __exit ad1980_exit(void)
283} 291}
284module_exit(ad1980_exit); 292module_exit(ad1980_exit);
285 293
286MODULE_DESCRIPTION("ASoC ad1980 driver"); 294MODULE_DESCRIPTION("ASoC ad1980 driver (Obsolete)");
287MODULE_AUTHOR("Roy Huang, Cliff Cai"); 295MODULE_AUTHOR("Roy Huang, Cliff Cai");
288MODULE_LICENSE("GPL"); 296MODULE_LICENSE("GPL");
diff --git a/sound/soc/codecs/ad1980.h b/sound/soc/codecs/ad1980.h
index 29b5a8750926..eb0af44ad3df 100644
--- a/sound/soc/codecs/ad1980.h
+++ b/sound/soc/codecs/ad1980.h
@@ -1,5 +1,11 @@
1/* 1/*
2 * ad1980.h -- ad1980 Soc Audio driver 2 * ad1980.h -- ad1980 Soc Audio driver
3 *
4 * WARNING:
5 *
6 * Because Analog Devices Inc. discontinued the ad1980 sound chip since
7 * Sep. 2009, this ad1980 driver is not maintained, tested and supported
8 * by ADI now.
3 */ 9 */
4 10
5#ifndef _AD1980_H 11#ifndef _AD1980_H
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
index d66db4bf11e4..af4517ed2964 100644
--- a/sound/soc/codecs/wm8580.c
+++ b/sound/soc/codecs/wm8580.c
@@ -260,9 +260,9 @@ SOC_DOUBLE("DAC2 Invert Switch", WM8580_DAC_CONTROL4, 2, 3, 1, 0),
260SOC_DOUBLE("DAC3 Invert Switch", WM8580_DAC_CONTROL4, 4, 5, 1, 0), 260SOC_DOUBLE("DAC3 Invert Switch", WM8580_DAC_CONTROL4, 4, 5, 1, 0),
261 261
262SOC_SINGLE("DAC ZC Switch", WM8580_DAC_CONTROL5, 5, 1, 0), 262SOC_SINGLE("DAC ZC Switch", WM8580_DAC_CONTROL5, 5, 1, 0),
263SOC_SINGLE("DAC1 Switch", WM8580_DAC_CONTROL5, 0, 1, 0), 263SOC_SINGLE("DAC1 Switch", WM8580_DAC_CONTROL5, 0, 1, 1),
264SOC_SINGLE("DAC2 Switch", WM8580_DAC_CONTROL5, 1, 1, 0), 264SOC_SINGLE("DAC2 Switch", WM8580_DAC_CONTROL5, 1, 1, 1),
265SOC_SINGLE("DAC3 Switch", WM8580_DAC_CONTROL5, 2, 1, 0), 265SOC_SINGLE("DAC3 Switch", WM8580_DAC_CONTROL5, 2, 1, 1),
266 266
267SOC_DOUBLE("Capture Switch", WM8580_ADC_CONTROL1, 0, 1, 1, 1), 267SOC_DOUBLE("Capture Switch", WM8580_ADC_CONTROL1, 0, 1, 1, 1),
268SOC_SINGLE("Capture High-Pass Filter Switch", WM8580_ADC_CONTROL1, 4, 1, 0), 268SOC_SINGLE("Capture High-Pass Filter Switch", WM8580_ADC_CONTROL1, 4, 1, 0),
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 7823f92413f3..76a066e908ed 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -94,6 +94,7 @@ struct wm8994_priv {
94 94
95 struct wm8994_micdet micdet[2]; 95 struct wm8994_micdet micdet[2];
96 96
97 int revision;
97 struct wm8994_pdata *pdata; 98 struct wm8994_pdata *pdata;
98}; 99};
99 100
@@ -3073,6 +3074,8 @@ static int wm8994_set_dai_sysclk(struct snd_soc_dai *dai,
3073static int wm8994_set_bias_level(struct snd_soc_codec *codec, 3074static int wm8994_set_bias_level(struct snd_soc_codec *codec,
3074 enum snd_soc_bias_level level) 3075 enum snd_soc_bias_level level)
3075{ 3076{
3077 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
3078
3076 switch (level) { 3079 switch (level) {
3077 case SND_SOC_BIAS_ON: 3080 case SND_SOC_BIAS_ON:
3078 break; 3081 break;
@@ -3085,11 +3088,16 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
3085 3088
3086 case SND_SOC_BIAS_STANDBY: 3089 case SND_SOC_BIAS_STANDBY:
3087 if (codec->bias_level == SND_SOC_BIAS_OFF) { 3090 if (codec->bias_level == SND_SOC_BIAS_OFF) {
3088 /* Tweak DC servo configuration for improved 3091 /* Tweak DC servo and DSP configuration for
3089 * performance. */ 3092 * improved performance. */
3090 snd_soc_write(codec, 0x102, 0x3); 3093 if (wm8994->revision < 4) {
3091 snd_soc_write(codec, 0x56, 0x3); 3094 /* Tweak DC servo and DSP configuration for
3092 snd_soc_write(codec, 0x102, 0); 3095 * improved performance. */
3096 snd_soc_write(codec, 0x102, 0x3);
3097 snd_soc_write(codec, 0x56, 0x3);
3098 snd_soc_write(codec, 0x817, 0);
3099 snd_soc_write(codec, 0x102, 0);
3100 }
3093 3101
3094 /* Discharge LINEOUT1 & 2 */ 3102 /* Discharge LINEOUT1 & 2 */
3095 snd_soc_update_bits(codec, WM8994_ANTIPOP_1, 3103 snd_soc_update_bits(codec, WM8994_ANTIPOP_1,
@@ -3859,7 +3867,7 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data)
3859static int wm8994_codec_probe(struct snd_soc_codec *codec) 3867static int wm8994_codec_probe(struct snd_soc_codec *codec)
3860{ 3868{
3861 struct wm8994_priv *wm8994; 3869 struct wm8994_priv *wm8994;
3862 int ret, i, rev; 3870 int ret, i;
3863 3871
3864 codec->control_data = dev_get_drvdata(codec->dev->parent); 3872 codec->control_data = dev_get_drvdata(codec->dev->parent);
3865 3873
@@ -3889,8 +3897,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
3889 wm8994->reg_cache[i] = 0; 3897 wm8994->reg_cache[i] = 0;
3890 3898
3891 /* Set revision-specific configuration */ 3899 /* Set revision-specific configuration */
3892 rev = snd_soc_read(codec, WM8994_CHIP_REVISION); 3900 wm8994->revision = snd_soc_read(codec, WM8994_CHIP_REVISION);
3893 switch (rev) { 3901 switch (wm8994->revision) {
3894 case 2: 3902 case 2:
3895 case 3: 3903 case 3:
3896 wm8994->hubs.dcs_codes = -5; 3904 wm8994->hubs.dcs_codes = -5;
diff --git a/sound/soc/imx/Kconfig b/sound/soc/imx/Kconfig
index 66ba26393c10..642270a635ea 100644
--- a/sound/soc/imx/Kconfig
+++ b/sound/soc/imx/Kconfig
@@ -42,7 +42,9 @@ config SND_SOC_PHYCORE_AC97
42 42
43config SND_SOC_EUKREA_TLV320 43config SND_SOC_EUKREA_TLV320
44 tristate "Eukrea TLV320" 44 tristate "Eukrea TLV320"
45 depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD 45 depends on MACH_EUKREA_MBIMX27_BASEBOARD \
46 || MACH_EUKREA_MBIMXSD25_BASEBOARD \
47 || MACH_EUKREA_MBIMXSD35_BASEBOARD
46 select SND_SOC_TLV320AIC23 48 select SND_SOC_TLV320AIC23
47 select SND_MXC_SOC_SSI 49 select SND_MXC_SOC_SSI
48 select SND_MXC_SOC_FIQ 50 select SND_MXC_SOC_FIQ
diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c
index b856177ea281..12281111f100 100644
--- a/sound/soc/soc-cache.c
+++ b/sound/soc/soc-cache.c
@@ -340,7 +340,7 @@ static unsigned int snd_soc_16_8_read_i2c(struct snd_soc_codec *codec,
340static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec, 340static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec,
341 unsigned int reg) 341 unsigned int reg)
342{ 342{
343 u16 *cache = codec->reg_cache; 343 u8 *cache = codec->reg_cache;
344 344
345 reg &= 0xff; 345 reg &= 0xff;
346 if (reg >= codec->driver->reg_cache_size) 346 if (reg >= codec->driver->reg_cache_size)
@@ -351,7 +351,7 @@ static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec,
351static int snd_soc_16_8_write(struct snd_soc_codec *codec, unsigned int reg, 351static int snd_soc_16_8_write(struct snd_soc_codec *codec, unsigned int reg,
352 unsigned int value) 352 unsigned int value)
353{ 353{
354 u16 *cache = codec->reg_cache; 354 u8 *cache = codec->reg_cache;
355 u8 data[3]; 355 u8 data[3];
356 int ret; 356 int ret;
357 357