Merge remote-tracking branch 'asoc/topic/pcm' into asoc-next

This commit is contained in:
Mark Brown 2016-01-11 13:54:30 +00:00
commit 2dd49f8e6f
1 changed files with 20 additions and 8 deletions

View File

@ -599,10 +599,15 @@ platform_err:
out:
mutex_unlock(&rtd->pcm_mutex);
pm_runtime_put(platform->dev);
for (i = 0; i < rtd->num_codecs; i++)
pm_runtime_put(rtd->codec_dais[i]->dev);
pm_runtime_put(cpu_dai->dev);
pm_runtime_mark_last_busy(platform->dev);
pm_runtime_put_autosuspend(platform->dev);
for (i = 0; i < rtd->num_codecs; i++) {
pm_runtime_mark_last_busy(rtd->codec_dais[i]->dev);
pm_runtime_put_autosuspend(rtd->codec_dais[i]->dev);
}
pm_runtime_mark_last_busy(cpu_dai->dev);
pm_runtime_put_autosuspend(cpu_dai->dev);
for (i = 0; i < rtd->num_codecs; i++) {
if (!rtd->codec_dais[i]->active)
pinctrl_pm_select_sleep_state(rtd->codec_dais[i]->dev);
@ -706,10 +711,17 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
mutex_unlock(&rtd->pcm_mutex);
pm_runtime_put(platform->dev);
for (i = 0; i < rtd->num_codecs; i++)
pm_runtime_put(rtd->codec_dais[i]->dev);
pm_runtime_put(cpu_dai->dev);
pm_runtime_mark_last_busy(platform->dev);
pm_runtime_put_autosuspend(platform->dev);
for (i = 0; i < rtd->num_codecs; i++) {
pm_runtime_mark_last_busy(rtd->codec_dais[i]->dev);
pm_runtime_put_autosuspend(rtd->codec_dais[i]->dev);
}
pm_runtime_mark_last_busy(cpu_dai->dev);
pm_runtime_put_autosuspend(cpu_dai->dev);
for (i = 0; i < rtd->num_codecs; i++) {
if (!rtd->codec_dais[i]->active)
pinctrl_pm_select_sleep_state(rtd->codec_dais[i]->dev);