Merge remote-tracking branches 'asoc/fix/rt5677', 'asoc/fix/simple', 'asoc/fix/ts3a22...
authorMark Brown <broonie@kernel.org>
Mon, 26 Jan 2015 11:29:58 +0000 (11:29 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 26 Jan 2015 11:29:58 +0000 (11:29 +0000)
1  2  3  4  5  6 
sound/soc/codecs/rt5677.c

@@@@@@@ -784,8 -784,8 -784,8 -784,8 -784,8 -784,8 +784,8 @@@@@@@ static unsigned int bst_tlv[] = 
      static int rt5677_dsp_vad_get(struct snd_kcontrol *kcontrol,
                struct snd_ctl_elem_value *ucontrol)
      {
 -----  struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
 -----  struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
 +++++  struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
 +++++  struct rt5677_priv *rt5677 = snd_soc_component_get_drvdata(component);
      
        ucontrol->value.integer.value[0] = rt5677->dsp_vad_en;
      
      static int rt5677_dsp_vad_put(struct snd_kcontrol *kcontrol,
                struct snd_ctl_elem_value *ucontrol)
      {
 -----  struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
 -----  struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
 +++++  struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
 +++++  struct rt5677_priv *rt5677 = snd_soc_component_get_drvdata(component);
 +++++  struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
      
        rt5677->dsp_vad_en = !!ucontrol->value.integer.value[0];
      
@@@@@@@ -2083,10 -2082,14 -2082,10 -2082,10 -2082,10 -2082,10 +2083,14 @@@@@@@ static int rt5677_set_pll1_event(struc
        struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
      
        switch (event) {
- ----  case SND_SOC_DAPM_POST_PMU:
+ ++++  case SND_SOC_DAPM_PRE_PMU:
                regmap_update_bits(rt5677->regmap, RT5677_PLL1_CTRL2, 0x2, 0x2);
+ ++++          break;
+ ++++
+ ++++  case SND_SOC_DAPM_POST_PMU:
                regmap_update_bits(rt5677->regmap, RT5677_PLL1_CTRL2, 0x2, 0x0);
                break;
+ ++++
        default:
                return 0;
        }
@@@@@@@ -2101,10 -2104,14 -2100,10 -2100,10 -2100,10 -2100,10 +2105,14 @@@@@@@ static int rt5677_set_pll2_event(struc
        struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
      
        switch (event) {
- ----  case SND_SOC_DAPM_POST_PMU:
+ ++++  case SND_SOC_DAPM_PRE_PMU:
                regmap_update_bits(rt5677->regmap, RT5677_PLL2_CTRL2, 0x2, 0x2);
+ ++++          break;
+ ++++
+ ++++  case SND_SOC_DAPM_POST_PMU:
                regmap_update_bits(rt5677->regmap, RT5677_PLL2_CTRL2, 0x2, 0x0);
                break;
+ ++++
        default:
                return 0;
        }
@@@@@@@ -2212,9 -2219,11 -2211,9 -2211,9 -2211,9 -2211,9 +2220,11 @@@@@@@ static int rt5677_vref_event(struct snd
      
      static const struct snd_soc_dapm_widget rt5677_dapm_widgets[] = {
        SND_SOC_DAPM_SUPPLY("PLL1", RT5677_PWR_ANLG2, RT5677_PWR_PLL1_BIT,
- ----          0, rt5677_set_pll1_event, SND_SOC_DAPM_POST_PMU),
+ ++++          0, rt5677_set_pll1_event, SND_SOC_DAPM_PRE_PMU |
+ ++++          SND_SOC_DAPM_POST_PMU),
        SND_SOC_DAPM_SUPPLY("PLL2", RT5677_PWR_ANLG2, RT5677_PWR_PLL2_BIT,
- ----          0, rt5677_set_pll2_event, SND_SOC_DAPM_POST_PMU),
+ ++++          0, rt5677_set_pll2_event, SND_SOC_DAPM_PRE_PMU |
+ ++++          SND_SOC_DAPM_POST_PMU),
      
        /* Input Side */
        /* micbias */