[7/7] ASoC: Move ignore_pmdown_time from CODEC to component
diff mbox

Message ID 1394021868-11860-7-git-send-email-lars@metafoo.de
State Accepted
Commit 3d59400fe47e7e8bfb024cd1651433bef42e268e
Headers show

Commit Message

Lars-Peter Clausen March 5, 2014, 12:17 p.m. UTC
In preparation for componentization move the ignore_pmdown_time field from the
snd_soc_codec struct to the snd_soc_component struct. Set it to true for non
CODEC components for now.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 include/sound/soc.h  |  3 ++-
 sound/soc/soc-core.c |  4 +++-
 sound/soc/soc-pcm.c  | 10 ++--------
 3 files changed, 7 insertions(+), 10 deletions(-)

Patch
diff mbox

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 0495b4a..b14acd8 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -663,6 +663,8 @@  struct snd_soc_component {
 
 	unsigned int active;
 
+	unsigned int ignore_pmdown_time:1; /* pmdown_time is ignored at stop */
+
 	struct list_head list;
 
 	struct snd_soc_dai_driver *dai_drv;
@@ -715,7 +717,6 @@  struct snd_soc_codec {
 
 	/* dapm */
 	struct snd_soc_dapm_context dapm;
-	unsigned int ignore_pmdown_time:1; /* pmdown_time is ignored at stop */
 
 #ifdef CONFIG_DEBUG_FS
 	struct dentry *debugfs_codec_root;
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 6401e97..18aecd2 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -4127,6 +4127,8 @@  int snd_soc_register_component(struct device *dev,
 		return -ENOMEM;
 	}
 
+	cmpnt->ignore_pmdown_time = true;
+
 	return __snd_soc_register_component(dev, cmpnt, cmpnt_drv,
 					    dai_drv, num_dai, true);
 }
@@ -4325,7 +4327,7 @@  int snd_soc_register_codec(struct device *dev,
 	codec->volatile_register = codec_drv->volatile_register;
 	codec->readable_register = codec_drv->readable_register;
 	codec->writable_register = codec_drv->writable_register;
-	codec->ignore_pmdown_time = codec_drv->ignore_pmdown_time;
+	codec->component.ignore_pmdown_time = codec_drv->ignore_pmdown_time;
 	codec->dapm.bias_level = SND_SOC_BIAS_OFF;
 	codec->dapm.dev = dev;
 	codec->dapm.codec = codec;
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 98b4629..2cedf09 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -107,17 +107,11 @@  void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream)
  */
 bool snd_soc_runtime_ignore_pmdown_time(struct snd_soc_pcm_runtime *rtd)
 {
-	bool ignore = true;
-
 	if (!rtd->pmdown_time || rtd->dai_link->ignore_pmdown_time)
 		return true;
 
-	if (rtd->cpu_dai->codec)
-		ignore &= rtd->cpu_dai->codec->ignore_pmdown_time;
-
-	ignore &= rtd->codec_dai->codec->ignore_pmdown_time;
-
-	return ignore;
+	return rtd->cpu_dai->component->ignore_pmdown_time &&
+			rtd->codec_dai->component->ignore_pmdown_time;
 }
 
 /**