Commit d74c2a15 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
parent 3193abd2
...@@ -432,6 +432,7 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime( ...@@ -432,6 +432,7 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
struct snd_soc_component *component; struct snd_soc_component *component;
struct device *dev; struct device *dev;
int ret; int ret;
int stream;
/* /*
* for rtd->dev * for rtd->dev
...@@ -466,10 +467,10 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime( ...@@ -466,10 +467,10 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
rtd->dev = dev; rtd->dev = dev;
INIT_LIST_HEAD(&rtd->list); INIT_LIST_HEAD(&rtd->list);
INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_PLAYBACK].be_clients); for_each_pcm_streams(stream) {
INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_CAPTURE].be_clients); INIT_LIST_HEAD(&rtd->dpcm[stream].be_clients);
INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_PLAYBACK].fe_clients); INIT_LIST_HEAD(&rtd->dpcm[stream].fe_clients);
INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_CAPTURE].fe_clients); }
dev_set_drvdata(dev, rtd); dev_set_drvdata(dev, rtd);
INIT_DELAYED_WORK(&rtd->delayed_work, close_delayed_work); INIT_DELAYED_WORK(&rtd->delayed_work, close_delayed_work);
...@@ -559,17 +560,14 @@ int snd_soc_suspend(struct device *dev) ...@@ -559,17 +560,14 @@ int snd_soc_suspend(struct device *dev)
snd_soc_flush_all_delayed_work(card); snd_soc_flush_all_delayed_work(card);
for_each_card_rtds(card, rtd) { for_each_card_rtds(card, rtd) {
int stream;
if (rtd->dai_link->ignore_suspend) if (rtd->dai_link->ignore_suspend)
continue; continue;
snd_soc_dapm_stream_event(rtd, for_each_pcm_streams(stream)
SNDRV_PCM_STREAM_PLAYBACK, snd_soc_dapm_stream_event(rtd, stream,
SND_SOC_DAPM_STREAM_SUSPEND); SND_SOC_DAPM_STREAM_SUSPEND);
snd_soc_dapm_stream_event(rtd,
SNDRV_PCM_STREAM_CAPTURE,
SND_SOC_DAPM_STREAM_SUSPEND);
} }
/* Recheck all endpoints too, their state is affected by suspend */ /* Recheck all endpoints too, their state is affected by suspend */
...@@ -665,17 +663,14 @@ static void soc_resume_deferred(struct work_struct *work) ...@@ -665,17 +663,14 @@ static void soc_resume_deferred(struct work_struct *work)
} }
for_each_card_rtds(card, rtd) { for_each_card_rtds(card, rtd) {
int stream;
if (rtd->dai_link->ignore_suspend) if (rtd->dai_link->ignore_suspend)
continue; continue;
snd_soc_dapm_stream_event(rtd, for_each_pcm_streams(stream)
SNDRV_PCM_STREAM_PLAYBACK, snd_soc_dapm_stream_event(rtd, stream,
SND_SOC_DAPM_STREAM_RESUME); SND_SOC_DAPM_STREAM_RESUME);
snd_soc_dapm_stream_event(rtd,
SNDRV_PCM_STREAM_CAPTURE,
SND_SOC_DAPM_STREAM_RESUME);
} }
/* unmute any active DACs */ /* unmute any active DACs */
......
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