Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aaae5272 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'fix/asoc' into for-linus

parents 18c5ef38 a532f97c
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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 <broonie@opensource.wolfsonmicro.com>
M:	Ian Lartey <ian@opensource.wolfsonmicro.com>
T:	git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
W:	http://opensource.wolfsonmicro.com/node/8
S:	Supported
@@ -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 <andrew.hendry@gmail.com>
+15 −8
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ struct wm8994_priv {

	struct wm8994_micdet micdet[2];

	int revision;
	struct wm8994_pdata *pdata;
};

@@ -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;
@@ -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. */
			/* 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,
@@ -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");
@@ -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;