Commit d70ab7f7 authored by Takashi Iwai's avatar Takashi Iwai

Merge branch 'fix/asoc' into for-linus

parents 58936b29 2a7b1a00
...@@ -29,7 +29,7 @@ struct wm8994_ldo_pdata { ...@@ -29,7 +29,7 @@ struct wm8994_ldo_pdata {
#define WM8994_CONFIGURE_GPIO 0x8000 #define WM8994_CONFIGURE_GPIO 0x8000
#define WM8994_DRC_REGS 5 #define WM8994_DRC_REGS 5
#define WM8994_EQ_REGS 19 #define WM8994_EQ_REGS 20
/** /**
* DRC configurations are specified with a label and a set of register * DRC configurations are specified with a label and a set of register
......
...@@ -491,16 +491,16 @@ static int wm8580_paif_hw_params(struct snd_pcm_substream *substream, ...@@ -491,16 +491,16 @@ static int wm8580_paif_hw_params(struct snd_pcm_substream *substream,
paifa |= 0x8; paifa |= 0x8;
break; break;
case SNDRV_PCM_FORMAT_S20_3LE: case SNDRV_PCM_FORMAT_S20_3LE:
paifa |= 0x10; paifa |= 0x0;
paifb |= WM8580_AIF_LENGTH_20; paifb |= WM8580_AIF_LENGTH_20;
break; break;
case SNDRV_PCM_FORMAT_S24_LE: case SNDRV_PCM_FORMAT_S24_LE:
paifa |= 0x10; paifa |= 0x0;
paifb |= WM8580_AIF_LENGTH_24; paifb |= WM8580_AIF_LENGTH_24;
break; break;
case SNDRV_PCM_FORMAT_S32_LE: case SNDRV_PCM_FORMAT_S32_LE:
paifa |= 0x10; paifa |= 0x0;
paifb |= WM8580_AIF_LENGTH_24; paifb |= WM8580_AIF_LENGTH_32;
break; break;
default: default:
return -EINVAL; return -EINVAL;
......
...@@ -3339,7 +3339,7 @@ static irqreturn_t wm8962_irq(int irq, void *data) ...@@ -3339,7 +3339,7 @@ static irqreturn_t wm8962_irq(int irq, void *data)
int mask; int mask;
int active; int active;
mask = snd_soc_read(codec, WM8962_INTERRUPT_STATUS_2); mask = snd_soc_read(codec, WM8962_INTERRUPT_STATUS_2_MASK);
active = snd_soc_read(codec, WM8962_INTERRUPT_STATUS_2); active = snd_soc_read(codec, WM8962_INTERRUPT_STATUS_2);
active &= ~mask; active &= ~mask;
......
...@@ -293,7 +293,7 @@ SOC_DOUBLE_R("Speaker Switch", ...@@ -293,7 +293,7 @@ SOC_DOUBLE_R("Speaker Switch",
SOC_DOUBLE_R("Speaker ZC Switch", SOC_DOUBLE_R("Speaker ZC Switch",
WM8993_SPEAKER_VOLUME_LEFT, WM8993_SPEAKER_VOLUME_RIGHT, WM8993_SPEAKER_VOLUME_LEFT, WM8993_SPEAKER_VOLUME_RIGHT,
7, 1, 0), 7, 1, 0),
SOC_DOUBLE_TLV("Speaker Boost Volume", WM8993_SPKOUT_BOOST, 0, 3, 7, 0, SOC_DOUBLE_TLV("Speaker Boost Volume", WM8993_SPKOUT_BOOST, 3, 0, 7, 0,
spkboost_tlv), spkboost_tlv),
SOC_ENUM("Speaker Reference", speaker_ref), SOC_ENUM("Speaker Reference", speaker_ref),
SOC_ENUM("Speaker Mode", speaker_mode), SOC_ENUM("Speaker Mode", speaker_mode),
......
...@@ -1619,12 +1619,14 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card) ...@@ -1619,12 +1619,14 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
#ifdef CONFIG_SND_SOC_AC97_BUS #ifdef CONFIG_SND_SOC_AC97_BUS
/* register any AC97 codecs */ /* register any AC97 codecs */
for (i = 0; i < card->num_rtd; i++) { for (i = 0; i < card->num_rtd; i++) {
ret = soc_register_ac97_dai_link(&card->rtd[i]); ret = soc_register_ac97_dai_link(&card->rtd[i]);
if (ret < 0) { if (ret < 0) {
printk(KERN_ERR "asoc: failed to register AC97 %s\n", card->name); printk(KERN_ERR "asoc: failed to register AC97 %s\n", card->name);
goto probe_dai_err; while (--i >= 0)
} soc_unregister_ac97_dai_link(&card->rtd[i]);
goto probe_dai_err;
} }
}
#endif #endif
card->instantiated = 1; card->instantiated = 1;
...@@ -3072,7 +3074,9 @@ int snd_soc_register_dais(struct device *dev, ...@@ -3072,7 +3074,9 @@ int snd_soc_register_dais(struct device *dev,
pr_debug("Registered DAI '%s'\n", dai->name); pr_debug("Registered DAI '%s'\n", dai->name);
} }
mutex_lock(&client_mutex);
snd_soc_instantiate_cards(); snd_soc_instantiate_cards();
mutex_unlock(&client_mutex);
return 0; return 0;
err: err:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment