From d07ecc27645fc376108603eeedfcbba8e60364ce Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Wed, 16 Mar 2011 21:05:06 +0000 Subject: [PATCH] --- yaml --- r: 248199 b: refs/heads/master c: af9af866020ea341aca32123b3109b6a9408dd8c h: refs/heads/master i: 248197: 533c2750f66a34d957bd36f7029421f90f131987 248195: afb9b09ac0a6c15195ed7aedc5c6b916c6128db9 248191: ef8194ce21f36b9e59d9406b3892d2d6bb8c530c v: v3 --- [refs] | 2 +- trunk/sound/soc/codecs/wm8994.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0f35fd915921..18e3f10aa62c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c6b7b57012c8307b936025ad41fcbef6b1b6b52f +refs/heads/master: af9af866020ea341aca32123b3109b6a9408dd8c diff --git a/trunk/sound/soc/codecs/wm8994.c b/trunk/sound/soc/codecs/wm8994.c index 328f32831946..bdd1ac75178a 100644 --- a/trunk/sound/soc/codecs/wm8994.c +++ b/trunk/sound/soc/codecs/wm8994.c @@ -55,6 +55,9 @@ static int wm8994_retune_mobile_base[] = { static int wm8994_readable(struct snd_soc_codec *codec, unsigned int reg) { + struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); + struct wm8994 *control = wm8994->control_data; + switch (reg) { case WM8994_GPIO_1: case WM8994_GPIO_2: @@ -71,6 +74,15 @@ static int wm8994_readable(struct snd_soc_codec *codec, unsigned int reg) case WM8994_INTERRUPT_STATUS_2: case WM8994_INTERRUPT_RAW_STATUS_2: return 1; + + case WM8958_DSP2_PROGRAM: + case WM8958_DSP2_CONFIG: + case WM8958_DSP2_EXECCONTROL: + if (control->type == WM8958) + return 1; + else + return 0; + default: break; }