Merge branch 'topic/asoc' into for-linus
authorTakashi Iwai <tiwai@suse.de>
Tue, 16 Jun 2009 15:38:36 +0000 (17:38 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 16 Jun 2009 15:38:36 +0000 (17:38 +0200)
* topic/asoc:
  ASoC: magician: fix PXA SSP clock polarity
  ASoC: Instantiate any forgotten DAPM widgets
  ASoC: Revert duplicated code in SSM2602 driver
  ASoC: Remove odd bit clock ratios for WM8903

sound/soc/codecs/ssm2602.c
sound/soc/codecs/wm8903.c
sound/soc/pxa/magician.c
sound/soc/soc-core.c

index 1fc4c8e0899c18ec1f7f12750cf80023140cd5b7..c550750c79c0654db16d480e4abee954cc71e09f 100644 (file)
@@ -375,10 +375,6 @@ static void ssm2602_shutdown(struct snd_pcm_substream *substream,
        struct snd_soc_codec *codec = socdev->card->codec;
        struct ssm2602_priv *ssm2602 = codec->private_data;
 
-       if (ssm2602->master_substream == substream)
-               ssm2602->master_substream = ssm2602->slave_substream;
-
-       ssm2602->slave_substream = NULL;
        /* deactivate */
        if (!codec->active)
                ssm2602_write(codec, SSM2602_ACTIVE, 0);
index d8a9222fbf745c53077bd3a5f12e89c3f70bded0..e8d2e3e14c45528d6dd23ba73e71bead6c8fb53b 100644 (file)
@@ -1257,22 +1257,18 @@ static struct {
        int div;
 } bclk_divs[] = {
        {  10,  0 },
-       {  15,  1 },
        {  20,  2 },
        {  30,  3 },
        {  40,  4 },
        {  50,  5 },
-       {  55,  6 },
        {  60,  7 },
        {  80,  8 },
        { 100,  9 },
-       { 110, 10 },
        { 120, 11 },
        { 160, 12 },
        { 200, 13 },
        { 220, 14 },
        { 240, 15 },
-       { 250, 16 },
        { 300, 17 },
        { 320, 18 },
        { 440, 19 },
index c89a3cdf31e4aea8ad464baf720512deb0ccd319..326955dea36cef8fb6cc3fdb05e7516e7b05e578 100644 (file)
@@ -184,7 +184,7 @@ static int magician_playback_hw_params(struct snd_pcm_substream *substream,
 
        /* set cpu DAI configuration */
        ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_DSP_A |
-                       SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBS_CFS);
+                       SND_SOC_DAIFMT_NB_IF | SND_SOC_DAIFMT_CBS_CFS);
        if (ret < 0)
                return ret;
 
index 3f44150d8e30b6a9d8f5920e497627b397c0f049..1d70829464ef3698c85df7918b9c0c4acfaf1239 100644 (file)
@@ -1389,6 +1389,9 @@ int snd_soc_init_card(struct snd_soc_device *socdev)
        snprintf(codec->card->longname, sizeof(codec->card->longname),
                 "%s (%s)", card->name, codec->name);
 
+       /* Make sure all DAPM widgets are instantiated */
+       snd_soc_dapm_new_widgets(codec);
+
        ret = snd_card_register(codec->card);
        if (ret < 0) {
                printk(KERN_ERR "asoc: failed to register soundcard for %s\n",