ASoC: rt5677: Add a PMD case to MICBIAS1 event
authorOder Chiou <oder_chiou@realtek.com>
Tue, 10 Jun 2014 06:35:26 +0000 (14:35 +0800)
committerMark Brown <broonie@linaro.org>
Sat, 21 Jun 2014 10:34:05 +0000 (11:34 +0100)
The patch adds a PMD case to MICBIAS1 event.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/rt5677.c

index f81909004fdc47f285cefbd0e0d9efb5ff1ba4e5..8ecfb323b1b2d78d67d20626084a246d363a39bf 100644 (file)
@@ -1657,6 +1657,13 @@ static int rt5677_set_micbias1_event(struct snd_soc_dapm_widget *w,
                        RT5677_PWR_CLK_MB, RT5677_PWR_CLK_MB1 |
                        RT5677_PWR_PP_MB1 | RT5677_PWR_CLK_MB);
                break;
+
+       case SND_SOC_DAPM_PRE_PMD:
+               regmap_update_bits(rt5677->regmap, RT5677_PWR_ANLG2,
+                       RT5677_PWR_CLK_MB1 | RT5677_PWR_PP_MB1 |
+                       RT5677_PWR_CLK_MB, 0);
+               break;
+
        default:
                return 0;
        }
@@ -1673,7 +1680,8 @@ static const struct snd_soc_dapm_widget rt5677_dapm_widgets[] = {
        /* Input Side */
        /* micbias */
        SND_SOC_DAPM_SUPPLY("MICBIAS1", RT5677_PWR_ANLG2, RT5677_PWR_MB1_BIT,
-               0, rt5677_set_micbias1_event, SND_SOC_DAPM_POST_PMU),
+               0, rt5677_set_micbias1_event, SND_SOC_DAPM_PRE_PMD |
+               SND_SOC_DAPM_POST_PMU),
 
        /* Input Lines */
        SND_SOC_DAPM_INPUT("DMIC L1"),