Skip to content

Commit

Permalink
Merge branch 'fix/asoc' into for-linus
Browse files Browse the repository at this point in the history
  • Loading branch information
tiwai committed Aug 15, 2010
2 parents 18c5ef3 + a532f97 commit aaae527
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 11 deletions.
7 changes: 4 additions & 3 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -6325,8 +6325,9 @@ S: Supported
F: drivers/input/touchscreen/*wm97*
F: include/linux/wm97xx.h

WOLFSON MICROELECTRONICS PMIC DRIVERS
WOLFSON MICROELECTRONICS DRIVERS
M: Mark Brown <[email protected]>
M: Ian Lartey <[email protected]>
T: git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
W: http://opensource.wolfsonmicro.com/node/8
S: Supported
Expand All @@ -6341,8 +6342,8 @@ F: drivers/watchdog/wm83*_wdt.c
F: include/linux/mfd/wm831x/
F: include/linux/mfd/wm8350/
F: include/linux/mfd/wm8400*
F: sound/soc/codecs/wm8350.*
F: sound/soc/codecs/wm8400.*
F: include/sound/wm????.h
F: sound/soc/codecs/wm*

X.25 NETWORK LAYER
M: Andrew Hendry <[email protected]>
Expand Down
23 changes: 15 additions & 8 deletions sound/soc/codecs/wm8994.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ struct wm8994_priv {

struct wm8994_micdet micdet[2];

int revision;
struct wm8994_pdata *pdata;
};

Expand Down Expand Up @@ -3070,6 +3071,8 @@ static int wm8994_set_dai_sysclk(struct snd_soc_dai *dai,
static int wm8994_set_bias_level(struct snd_soc_codec *codec,
enum snd_soc_bias_level level)
{
struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);

switch (level) {
case SND_SOC_BIAS_ON:
break;
Expand All @@ -3082,11 +3085,16 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,

case SND_SOC_BIAS_STANDBY:
if (codec->bias_level == SND_SOC_BIAS_OFF) {
/* Tweak DC servo configuration for improved
* performance. */
snd_soc_write(codec, 0x102, 0x3);
snd_soc_write(codec, 0x56, 0x3);
snd_soc_write(codec, 0x102, 0);
/* Tweak DC servo and DSP configuration for
* 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, 0x56, 0x3);
snd_soc_write(codec, 0x817, 0);
snd_soc_write(codec, 0x102, 0);
}

/* Discharge LINEOUT1 & 2 */
snd_soc_update_bits(codec, WM8994_ANTIPOP_1,
Expand Down Expand Up @@ -3919,7 +3927,6 @@ static int wm8994_codec_probe(struct platform_device *pdev)
struct wm8994_priv *wm8994;
struct snd_soc_codec *codec;
int i;
u16 rev;

if (wm8994_codec) {
dev_err(&pdev->dev, "Another WM8994 is registered\n");
Expand Down Expand Up @@ -3973,8 +3980,8 @@ static int wm8994_codec_probe(struct platform_device *pdev)
wm8994->reg_cache[i] = 0;

/* Set revision-specific configuration */
rev = snd_soc_read(codec, WM8994_CHIP_REVISION);
switch (rev) {
wm8994->revision = snd_soc_read(codec, WM8994_CHIP_REVISION);
switch (wm8994->revision) {
case 2:
case 3:
wm8994->hubs.dcs_codes = -5;
Expand Down

0 comments on commit aaae527

Please sign in to comment.