From: jassi brar <jassisinghbrar@gmail.com>
Date: Mon, 22 Feb 2010 06:59:02 +0000 (+0900)
Subject: ASoC: Change how suspend and resume obtain the PCM runtime
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=10cab262;p=linux.git

ASoC: Change how suspend and resume obtain the PCM runtime

Currently only the atmel driver make use of snd_soc_dai.runtime field.
If the dais are to be shared among two or more dai_links, the field
must be got rid of.
So, in atmel driver reach the substream via dai_link->pcm so as to
not depend of snd_soc_dai.runtime field.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---

diff --git a/sound/soc/atmel/atmel-pcm.c b/sound/soc/atmel/atmel-pcm.c
index 67a32920af22e..fdb2553721273 100644
--- a/sound/soc/atmel/atmel-pcm.c
+++ b/sound/soc/atmel/atmel-pcm.c
@@ -417,8 +417,10 @@ static void atmel_pcm_free_dma_buffers(struct snd_pcm *pcm)
 #ifdef CONFIG_PM
 static int atmel_pcm_suspend(struct snd_soc_dai_link *dai_link)
 {
-	struct snd_soc_dai *dai = dai_link->cpu_dai;
-	struct snd_pcm_runtime *runtime = dai->runtime;
+	struct snd_pcm *pcm = dai_link->pcm;
+	struct snd_pcm_str *stream = &pcm->streams[0];
+	struct snd_pcm_substream *substream = stream->substream;
+	struct snd_pcm_runtime *runtime = substream->runtime;
 	struct atmel_runtime_data *prtd;
 	struct atmel_pcm_dma_params *params;
 
@@ -442,8 +444,10 @@ static int atmel_pcm_suspend(struct snd_soc_dai_link *dai_link)
 
 static int atmel_pcm_resume(struct snd_soc_dai_link *dai_link)
 {
-	struct snd_soc_dai *dai = dai_link->cpu_dai;
-	struct snd_pcm_runtime *runtime = dai->runtime;
+	struct snd_pcm *pcm = dai_link->pcm;
+	struct snd_pcm_str *stream = &pcm->streams[0];
+	struct snd_pcm_substream *substream = stream->substream;
+	struct snd_pcm_runtime *runtime = substream->runtime;
 	struct atmel_runtime_data *prtd;
 	struct atmel_pcm_dma_params *params;