diff --git a/[refs] b/[refs] index a63e36b30336..2abe0c8b8eae 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3a66d3877eaa4ab9818000a15c07326adaa9ca79 +refs/heads/master: 96dd362284ddcb546d2783035ae7eeda73692eda diff --git a/trunk/include/sound/soc.h b/trunk/include/sound/soc.h index e6a6d10de1d3..d9d88dd9720d 100644 --- a/trunk/include/sound/soc.h +++ b/trunk/include/sound/soc.h @@ -521,6 +521,8 @@ struct snd_soc_card { int (*set_bias_level)(struct snd_soc_card *, enum snd_soc_bias_level level); + int pmdown_time; + /* CPU <--> Codec DAI links */ struct snd_soc_dai_link *dai_link; int num_links; diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index ca89c782132d..94b9cde26139 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -542,7 +542,7 @@ static int soc_codec_close(struct snd_pcm_substream *substream) /* start delayed pop wq here for playback streams */ codec_dai->pop_wait = 1; schedule_delayed_work(&card->delayed_work, - msecs_to_jiffies(pmdown_time)); + msecs_to_jiffies(card->pmdown_time)); } else { /* capture streams can be powered down now */ snd_soc_dapm_stream_event(codec, @@ -1039,6 +1039,8 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card) dev_dbg(card->dev, "All components present, instantiating\n"); /* Found everything, bring it up */ + card->pmdown_time = pmdown_time; + if (card->probe) { ret = card->probe(pdev); if (ret < 0)