Merge branch 'fix/asoc' into for-linus
This commit is contained in:
commit
d70ab7f7ee
|
@ -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,
|
||||||
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)
|
||||||
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",
|
||||||
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)
|
||||||
#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,
|
||||||
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:
|
||||||
|
|
Loading…
Reference in New Issue