Commit ec62dbd7 authored by Mark Brown's avatar Mark Brown

Merge branch 'for-2.6.36' of...

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
parents 6bfb6aa9 a532f97c
...@@ -6303,8 +6303,9 @@ S: Supported ...@@ -6303,8 +6303,9 @@ S: Supported
F: drivers/input/touchscreen/*wm97* F: drivers/input/touchscreen/*wm97*
F: include/linux/wm97xx.h F: include/linux/wm97xx.h
WOLFSON MICROELECTRONICS PMIC DRIVERS WOLFSON MICROELECTRONICS DRIVERS
M: Mark Brown <broonie@opensource.wolfsonmicro.com> M: Mark Brown <broonie@opensource.wolfsonmicro.com>
M: Ian Lartey <ian@opensource.wolfsonmicro.com>
T: git git://opensource.wolfsonmicro.com/linux-2.6-audioplus T: git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
W: http://opensource.wolfsonmicro.com/node/8 W: http://opensource.wolfsonmicro.com/node/8
S: Supported S: Supported
...@@ -6319,8 +6320,8 @@ F: drivers/watchdog/wm83*_wdt.c ...@@ -6319,8 +6320,8 @@ F: drivers/watchdog/wm83*_wdt.c
F: include/linux/mfd/wm831x/ F: include/linux/mfd/wm831x/
F: include/linux/mfd/wm8350/ F: include/linux/mfd/wm8350/
F: include/linux/mfd/wm8400* F: include/linux/mfd/wm8400*
F: sound/soc/codecs/wm8350.* F: include/sound/wm????.h
F: sound/soc/codecs/wm8400.* F: sound/soc/codecs/wm*
X.25 NETWORK LAYER X.25 NETWORK LAYER
M: Andrew Hendry <andrew.hendry@gmail.com> M: Andrew Hendry <andrew.hendry@gmail.com>
......
...@@ -105,13 +105,18 @@ config SND_BF5XX_RESET_GPIO_NUM ...@@ -105,13 +105,18 @@ config SND_BF5XX_RESET_GPIO_NUM
Set the correct GPIO for RESET the sound chip. Set the correct GPIO for RESET the sound chip.
config SND_BF5XX_SOC_AD1980 config SND_BF5XX_SOC_AD1980
tristate "SoC AD1980/1 Audio support for BF5xx" tristate "SoC AD1980/1 Audio support for BF5xx (Obsolete)"
depends on SND_BF5XX_AC97 depends on SND_BF5XX_AC97
select SND_BF5XX_SOC_AC97 select SND_BF5XX_SOC_AC97
select SND_SOC_AD1980 select SND_SOC_AD1980
help help
Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT. Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT.
Warning:
Because Analog Devices Inc. discontinued the ad1980 sound chip since
Sep. 2009, this ad1980 driver is not maintained, tested and supported
by ADI now.
config SND_BF5XX_SOC_SPORT config SND_BF5XX_SOC_SPORT
tristate tristate
......
...@@ -26,6 +26,14 @@ ...@@ -26,6 +26,14 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
/*
* WARNING:
*
* Because Analog Devices Inc. discontinued the ad1980 sound chip since
* Sep. 2009, this ad1980 driver is not maintained, tested and supported
* by ADI now.
*/
#include <linux/module.h> #include <linux/module.h>
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
#include <linux/device.h> #include <linux/device.h>
...@@ -104,5 +112,5 @@ module_exit(bf5xx_board_exit); ...@@ -104,5 +112,5 @@ module_exit(bf5xx_board_exit);
/* Module information */ /* Module information */
MODULE_AUTHOR("Cliff Cai"); MODULE_AUTHOR("Cliff Cai");
MODULE_DESCRIPTION("ALSA SoC AD1980/1 BF5xx board"); MODULE_DESCRIPTION("ALSA SoC AD1980/1 BF5xx board (Obsolete)");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -11,6 +11,14 @@ ...@@ -11,6 +11,14 @@
* option) any later version. * option) any later version.
*/ */
/*
* WARNING:
*
* Because Analog Devices Inc. discontinued the ad1980 sound chip since
* Sep. 2009, this ad1980 driver is not maintained, tested and supported
* by ADI now.
*/
#include <linux/init.h> #include <linux/init.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/module.h> #include <linux/module.h>
...@@ -283,6 +291,6 @@ static void __exit ad1980_exit(void) ...@@ -283,6 +291,6 @@ static void __exit ad1980_exit(void)
} }
module_exit(ad1980_exit); module_exit(ad1980_exit);
MODULE_DESCRIPTION("ASoC ad1980 driver"); MODULE_DESCRIPTION("ASoC ad1980 driver (Obsolete)");
MODULE_AUTHOR("Roy Huang, Cliff Cai"); MODULE_AUTHOR("Roy Huang, Cliff Cai");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
/* /*
* ad1980.h -- ad1980 Soc Audio driver * ad1980.h -- ad1980 Soc Audio driver
*
* WARNING:
*
* Because Analog Devices Inc. discontinued the ad1980 sound chip since
* Sep. 2009, this ad1980 driver is not maintained, tested and supported
* by ADI now.
*/ */
#ifndef _AD1980_H #ifndef _AD1980_H
......
...@@ -260,9 +260,9 @@ SOC_DOUBLE("DAC2 Invert Switch", WM8580_DAC_CONTROL4, 2, 3, 1, 0), ...@@ -260,9 +260,9 @@ SOC_DOUBLE("DAC2 Invert Switch", WM8580_DAC_CONTROL4, 2, 3, 1, 0),
SOC_DOUBLE("DAC3 Invert Switch", WM8580_DAC_CONTROL4, 4, 5, 1, 0), SOC_DOUBLE("DAC3 Invert Switch", WM8580_DAC_CONTROL4, 4, 5, 1, 0),
SOC_SINGLE("DAC ZC Switch", WM8580_DAC_CONTROL5, 5, 1, 0), SOC_SINGLE("DAC ZC Switch", WM8580_DAC_CONTROL5, 5, 1, 0),
SOC_SINGLE("DAC1 Switch", WM8580_DAC_CONTROL5, 0, 1, 0), SOC_SINGLE("DAC1 Switch", WM8580_DAC_CONTROL5, 0, 1, 1),
SOC_SINGLE("DAC2 Switch", WM8580_DAC_CONTROL5, 1, 1, 0), SOC_SINGLE("DAC2 Switch", WM8580_DAC_CONTROL5, 1, 1, 1),
SOC_SINGLE("DAC3 Switch", WM8580_DAC_CONTROL5, 2, 1, 0), SOC_SINGLE("DAC3 Switch", WM8580_DAC_CONTROL5, 2, 1, 1),
SOC_DOUBLE("Capture Switch", WM8580_ADC_CONTROL1, 0, 1, 1, 1), SOC_DOUBLE("Capture Switch", WM8580_ADC_CONTROL1, 0, 1, 1, 1),
SOC_SINGLE("Capture High-Pass Filter Switch", WM8580_ADC_CONTROL1, 4, 1, 0), SOC_SINGLE("Capture High-Pass Filter Switch", WM8580_ADC_CONTROL1, 4, 1, 0),
......
...@@ -94,6 +94,7 @@ struct wm8994_priv { ...@@ -94,6 +94,7 @@ struct wm8994_priv {
struct wm8994_micdet micdet[2]; struct wm8994_micdet micdet[2];
int revision;
struct wm8994_pdata *pdata; struct wm8994_pdata *pdata;
}; };
...@@ -3073,6 +3074,8 @@ static int wm8994_set_dai_sysclk(struct snd_soc_dai *dai, ...@@ -3073,6 +3074,8 @@ static int wm8994_set_dai_sysclk(struct snd_soc_dai *dai,
static int wm8994_set_bias_level(struct snd_soc_codec *codec, static int wm8994_set_bias_level(struct snd_soc_codec *codec,
enum snd_soc_bias_level level) enum snd_soc_bias_level level)
{ {
struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
switch (level) { switch (level) {
case SND_SOC_BIAS_ON: case SND_SOC_BIAS_ON:
break; break;
...@@ -3085,11 +3088,16 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec, ...@@ -3085,11 +3088,16 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_STANDBY: case SND_SOC_BIAS_STANDBY:
if (codec->bias_level == SND_SOC_BIAS_OFF) { if (codec->bias_level == SND_SOC_BIAS_OFF) {
/* Tweak DC servo configuration for improved /* Tweak DC servo and DSP configuration for
* performance. */ * improved performance. */
if (wm8994->revision < 4) {
/* Tweak DC servo and DSP configuration for
* improved performance. */
snd_soc_write(codec, 0x102, 0x3); snd_soc_write(codec, 0x102, 0x3);
snd_soc_write(codec, 0x56, 0x3); snd_soc_write(codec, 0x56, 0x3);
snd_soc_write(codec, 0x817, 0);
snd_soc_write(codec, 0x102, 0); snd_soc_write(codec, 0x102, 0);
}
/* Discharge LINEOUT1 & 2 */ /* Discharge LINEOUT1 & 2 */
snd_soc_update_bits(codec, WM8994_ANTIPOP_1, snd_soc_update_bits(codec, WM8994_ANTIPOP_1,
...@@ -3859,7 +3867,7 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data) ...@@ -3859,7 +3867,7 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data)
static int wm8994_codec_probe(struct snd_soc_codec *codec) static int wm8994_codec_probe(struct snd_soc_codec *codec)
{ {
struct wm8994_priv *wm8994; struct wm8994_priv *wm8994;
int ret, i, rev; int ret, i;
codec->control_data = dev_get_drvdata(codec->dev->parent); codec->control_data = dev_get_drvdata(codec->dev->parent);
...@@ -3889,8 +3897,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) ...@@ -3889,8 +3897,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
wm8994->reg_cache[i] = 0; wm8994->reg_cache[i] = 0;
/* Set revision-specific configuration */ /* Set revision-specific configuration */
rev = snd_soc_read(codec, WM8994_CHIP_REVISION); wm8994->revision = snd_soc_read(codec, WM8994_CHIP_REVISION);
switch (rev) { switch (wm8994->revision) {
case 2: case 2:
case 3: case 3:
wm8994->hubs.dcs_codes = -5; wm8994->hubs.dcs_codes = -5;
......
...@@ -42,7 +42,9 @@ config SND_SOC_PHYCORE_AC97 ...@@ -42,7 +42,9 @@ config SND_SOC_PHYCORE_AC97
config SND_SOC_EUKREA_TLV320 config SND_SOC_EUKREA_TLV320
tristate "Eukrea TLV320" tristate "Eukrea TLV320"
depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD depends on MACH_EUKREA_MBIMX27_BASEBOARD \
|| MACH_EUKREA_MBIMXSD25_BASEBOARD \
|| MACH_EUKREA_MBIMXSD35_BASEBOARD
select SND_SOC_TLV320AIC23 select SND_SOC_TLV320AIC23
select SND_MXC_SOC_SSI select SND_MXC_SOC_SSI
select SND_MXC_SOC_FIQ select SND_MXC_SOC_FIQ
......
...@@ -340,7 +340,7 @@ static unsigned int snd_soc_16_8_read_i2c(struct snd_soc_codec *codec, ...@@ -340,7 +340,7 @@ static unsigned int snd_soc_16_8_read_i2c(struct snd_soc_codec *codec,
static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec, static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec,
unsigned int reg) unsigned int reg)
{ {
u16 *cache = codec->reg_cache; u8 *cache = codec->reg_cache;
reg &= 0xff; reg &= 0xff;
if (reg >= codec->driver->reg_cache_size) if (reg >= codec->driver->reg_cache_size)
...@@ -351,7 +351,7 @@ static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec, ...@@ -351,7 +351,7 @@ static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec,
static int snd_soc_16_8_write(struct snd_soc_codec *codec, unsigned int reg, static int snd_soc_16_8_write(struct snd_soc_codec *codec, unsigned int reg,
unsigned int value) unsigned int value)
{ {
u16 *cache = codec->reg_cache; u8 *cache = codec->reg_cache;
u8 data[3]; u8 data[3];
int ret; int ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment