diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2020-01-22 01:44:44 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-01-23 13:19:50 +0100 |
commit | 44c1a75b0d889b3a5faff9edc837d972806bb46a (patch) | |
tree | f422219ba26df44eda36c5f063de0813799c81c1 /sound | |
parent | ASoC: soc-pcm: add soc_rtd_shutdown() (diff) | |
download | linux-44c1a75b0d889b3a5faff9edc837d972806bb46a.tar.xz linux-44c1a75b0d889b3a5faff9edc837d972806bb46a.zip |
ASoC: soc-pcm: add soc_rtd_prepare()
Add soc_rtd_prepare() to make the code easier to read
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/875zh4mi9v.wl-kuninori.morimoto.gx@renesas.com
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/soc-pcm.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 8095c64c4e3e..ccd6c9ca55ab 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -45,6 +45,15 @@ static void soc_rtd_shutdown(struct snd_soc_pcm_runtime *rtd, rtd->dai_link->ops->shutdown(substream); } +static int soc_rtd_prepare(struct snd_soc_pcm_runtime *rtd, + struct snd_pcm_substream *substream) +{ + if (rtd->dai_link->ops && + rtd->dai_link->ops->prepare) + return rtd->dai_link->ops->prepare(substream); + return 0; +} + /** * snd_soc_runtime_activate() - Increment active count for PCM runtime components * @rtd: ASoC PCM runtime that is activated @@ -716,13 +725,11 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); - if (rtd->dai_link->ops->prepare) { - ret = rtd->dai_link->ops->prepare(substream); - if (ret < 0) { - dev_err(rtd->card->dev, "ASoC: machine prepare error:" - " %d\n", ret); - goto out; - } + ret = soc_rtd_prepare(rtd, substream); + if (ret < 0) { + dev_err(rtd->card->dev, + "ASoC: machine prepare error: %d\n", ret); + goto out; } for_each_rtd_components(rtd, i, component) { |