Skip to content

Commit

Permalink
ASoC: Move ignore_pmdown_time from CODEC to component
Browse files Browse the repository at this point in the history
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>
Signed-off-by: Mark Brown <broonie@linaro.org>
  • Loading branch information
Lars-Peter Clausen authored and Mark Brown committed Mar 6, 2014
1 parent cdde4cc commit 3d59400
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
3 changes: 2 additions & 1 deletion include/sound/soc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
4 changes: 3 additions & 1 deletion sound/soc/soc-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down Expand Up @@ -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;
Expand Down
10 changes: 2 additions & 8 deletions sound/soc/soc-pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

/**
Expand Down

0 comments on commit 3d59400

Please sign in to comment.