Merge branch 'for-2.6.39' into for-2.6.40
This commit is contained in:
commit
d9b3e4c515
|
@ -2977,20 +2977,36 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
|||
wm8994_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
||||
|
||||
/* Latch volume updates (right only; we always do left then right). */
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_DAC1_LEFT_VOLUME,
|
||||
WM8994_AIF1DAC1_VU, WM8994_AIF1DAC1_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_DAC1_RIGHT_VOLUME,
|
||||
WM8994_AIF1DAC1_VU, WM8994_AIF1DAC1_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_DAC2_LEFT_VOLUME,
|
||||
WM8994_AIF1DAC2_VU, WM8994_AIF1DAC2_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_DAC2_RIGHT_VOLUME,
|
||||
WM8994_AIF1DAC2_VU, WM8994_AIF1DAC2_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF2_DAC_LEFT_VOLUME,
|
||||
WM8994_AIF2DAC_VU, WM8994_AIF2DAC_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF2_DAC_RIGHT_VOLUME,
|
||||
WM8994_AIF2DAC_VU, WM8994_AIF2DAC_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_ADC1_LEFT_VOLUME,
|
||||
WM8994_AIF1ADC1_VU, WM8994_AIF1ADC1_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_ADC1_RIGHT_VOLUME,
|
||||
WM8994_AIF1ADC1_VU, WM8994_AIF1ADC1_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_ADC2_LEFT_VOLUME,
|
||||
WM8994_AIF1ADC2_VU, WM8994_AIF1ADC2_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF1_ADC2_RIGHT_VOLUME,
|
||||
WM8994_AIF1ADC2_VU, WM8994_AIF1ADC2_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF2_ADC_LEFT_VOLUME,
|
||||
WM8994_AIF2ADC_VU, WM8994_AIF1ADC2_VU);
|
||||
snd_soc_update_bits(codec, WM8994_AIF2_ADC_RIGHT_VOLUME,
|
||||
WM8994_AIF2ADC_VU, WM8994_AIF1ADC2_VU);
|
||||
snd_soc_update_bits(codec, WM8994_DAC1_LEFT_VOLUME,
|
||||
WM8994_DAC1_VU, WM8994_DAC1_VU);
|
||||
snd_soc_update_bits(codec, WM8994_DAC1_RIGHT_VOLUME,
|
||||
WM8994_DAC1_VU, WM8994_DAC1_VU);
|
||||
snd_soc_update_bits(codec, WM8994_DAC2_LEFT_VOLUME,
|
||||
WM8994_DAC2_VU, WM8994_DAC2_VU);
|
||||
snd_soc_update_bits(codec, WM8994_DAC2_RIGHT_VOLUME,
|
||||
WM8994_DAC2_VU, WM8994_DAC2_VU);
|
||||
|
||||
|
|
|
@ -629,6 +629,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)
|
|||
runtime->hw.rates |= codec_dai_drv->capture.rates;
|
||||
}
|
||||
|
||||
ret = -EINVAL;
|
||||
snd_pcm_limit_hw_rates(runtime);
|
||||
if (!runtime->hw.rates) {
|
||||
printk(KERN_ERR "asoc: %s <-> %s No matching rates\n",
|
||||
|
@ -640,7 +641,8 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)
|
|||
codec_dai->name, cpu_dai->name);
|
||||
goto config_err;
|
||||
}
|
||||
if (!runtime->hw.channels_min || !runtime->hw.channels_max) {
|
||||
if (!runtime->hw.channels_min || !runtime->hw.channels_max ||
|
||||
runtime->hw.channels_min > runtime->hw.channels_max) {
|
||||
printk(KERN_ERR "asoc: %s <-> %s No matching channels\n",
|
||||
codec_dai->name, cpu_dai->name);
|
||||
goto config_err;
|
||||
|
|
Loading…
Reference in New Issue