Merge tag 'v3.4-rc7' into for-3.5
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 13 May 2012 12:32:54 +0000 (13:32 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 13 May 2012 12:32:54 +0000 (13:32 +0100)
Linux 3.4-rc7

Conflicts):
drivers/base/regmap/regmap.c         (overlap with bug fixes)
sound/soc/blackfin/bf5xx-ssm2602.c   (overlap with bug fixes)

13 files changed:
1  2 
MAINTAINERS
arch/arm/mach-shmobile/board-mackerel.c
drivers/base/regmap/regmap.c
sound/soc/blackfin/bf5xx-ssm2602.c
sound/soc/codecs/Kconfig
sound/soc/codecs/cs42l73.c
sound/soc/codecs/tlv320aic23.c
sound/soc/codecs/twl6040.c
sound/soc/codecs/wm8350.c
sound/soc/codecs/wm8994.c
sound/soc/codecs/wm_hubs.c
sound/soc/soc-core.c
sound/soc/soc-dapm.c

diff --cc MAINTAINERS
Simple merge
@@@ -863,10 -775,11 +863,12 @@@ int regmap_bulk_read(struct regmap *map
                        map->format.parse_val(val + i);
        } else {
                for (i = 0; i < val_count; i++) {
 -                      ret = regmap_read(map, reg + i, &ival);
+                       unsigned int ival;
-                                         val + (i * val_bytes));
 +                      ret = regmap_read(map, reg + (i * map->reg_stride),
++                                        &ival);
                        if (ret != 0)
                                return ret;
+                       memcpy(val + (i * val_bytes), &ival, val_bytes);
                }
        }
  
@@@ -69,7 -98,8 +69,8 @@@ static struct snd_soc_dai_link bf5xx_ss
                .codec_dai_name = "ssm2602-hifi",
                .platform_name = "bfin-i2s-pcm-audio",
                .codec_name = "ssm2602.0-001b",
 -              .ops = &bf5xx_ssm2602_ops,
 +              .init = bf5xx_ssm2602_dai_init,
+               .dai_fmt = BF5XX_SSM2602_DAIFMT,
        },
        {
                .name = "ssm2602",
                .codec_dai_name = "ssm2602-hifi",
                .platform_name = "bfin-i2s-pcm-audio",
                .codec_name = "ssm2602.0-001b",
 -              .ops = &bf5xx_ssm2602_ops,
 +              .init = bf5xx_ssm2602_dai_init,
+               .dai_fmt = BF5XX_SSM2602_DAIFMT,
        },
  };
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -973,21 -981,43 +973,34 @@@ static bool wm8994_check_class_w_digita
        reg_r = snd_soc_read(codec, WM8994_DAC1_RIGHT_MIXER_ROUTING);
        if (reg_r != reg) {
                dev_vdbg(codec->dev, "Left and right DAC mixers different\n");
 -              enable = 0;
 +              return false;
        }
  
 -      if (enable) {
 -              dev_dbg(codec->dev, "Class W enabled\n");
 -              snd_soc_update_bits(codec, WM8994_CLASS_W_1,
 -                                  WM8994_CP_DYN_PWR |
 -                                  WM8994_CP_DYN_SRC_SEL_MASK,
 -                                  source | WM8994_CP_DYN_PWR);
 -              wm8994->hubs.class_w = true;
 -              
 -      } else {
 -              dev_dbg(codec->dev, "Class W disabled\n");
 -              snd_soc_update_bits(codec, WM8994_CLASS_W_1,
 -                                  WM8994_CP_DYN_PWR, 0);
 -              wm8994->hubs.class_w = false;
 -      }
 +      /* Set the source up */
 +      snd_soc_update_bits(codec, WM8994_CLASS_W_1,
 +                          WM8994_CP_DYN_SRC_SEL_MASK, source);
 +
 +      return true;
  }
  
- static int late_enable_ev(struct snd_soc_dapm_widget *w,
-                         struct snd_kcontrol *kcontrol, int event)
+ static int aif1clk_ev(struct snd_soc_dapm_widget *w,
+                     struct snd_kcontrol *kcontrol, int event)
  {
        struct snd_soc_codec *codec = w->codec;
-       struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
+       struct wm8994 *control = codec->control_data;
+       int mask = WM8994_AIF1DAC1L_ENA | WM8994_AIF1DAC1R_ENA;
+       int dac;
+       int adc;
+       int val;
+       switch (control->type) {
+       case WM8994:
+       case WM8958:
+               mask |= WM8994_AIF1DAC2L_ENA | WM8994_AIF1DAC2R_ENA;
+               break;
+       default:
+               break;
+       }
  
        switch (event) {
        case SND_SOC_DAPM_PRE_PMU:
Simple merge
Simple merge
Simple merge