[PATCH 10/17] ASoC: soc-dai: add snd_soc_dai_compr_shutdown()
Ranjani Sridharan
ranjani.sridharan at linux.intel.com
Thu Apr 23 03:31:13 CEST 2020
On Thu, 2020-04-23 at 08:15 +0900, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
>
> dai related function should be implemented at soc-dai.c.
> This patch adds snd_soc_dai_compr_shutdown().
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> ---
> include/sound/soc-dai.h | 2 ++
> sound/soc/soc-compress.c | 12 ++++--------
> sound/soc/soc-dai.c | 9 +++++++++
> 3 files changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
> index deb99b1469b4..abf4ad25ce68 100644
> --- a/include/sound/soc-dai.h
> +++ b/include/sound/soc-dai.h
> @@ -172,6 +172,8 @@ int snd_soc_pcm_dai_bespoke_trigger(struct
> snd_pcm_substream *substream,
>
> int snd_soc_dai_compr_startup(struct snd_soc_dai *dai,
> struct snd_compr_stream *cstream);
> +void snd_soc_dai_compr_shutdown(struct snd_soc_dai *dai,
> + struct snd_compr_stream *cstream);
>
> struct snd_soc_dai_ops {
> /*
> diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
> index 4065e7b4138d..945d1d15e1d2 100644
> --- a/sound/soc/soc-compress.c
> +++ b/sound/soc/soc-compress.c
> @@ -114,8 +114,7 @@ static int soc_compr_open(struct snd_compr_stream
> *cstream)
> machine_err:
> soc_compr_components_free(cstream, component);
>
> - if (cpu_dai->driver->cops && cpu_dai->driver->cops->shutdown)
> - cpu_dai->driver->cops->shutdown(cstream, cpu_dai);
> + snd_soc_dai_compr_shutdown(cpu_dai, cstream);
> out:
> mutex_unlock(&rtd->card->pcm_mutex);
> pm_err:
> @@ -204,8 +203,7 @@ static int soc_compr_open_fe(struct
> snd_compr_stream *cstream)
> machine_err:
> soc_compr_components_free(cstream, component);
> open_err:
> - if (cpu_dai->driver->cops && cpu_dai->driver->cops->shutdown)
> - cpu_dai->driver->cops->shutdown(cstream, cpu_dai);
> + snd_soc_dai_compr_shutdown(cpu_dai, cstream);
> out:
> dpcm_path_put(&list);
> be_err:
> @@ -244,8 +242,7 @@ static int soc_compr_free(struct snd_compr_stream
> *cstream)
>
> soc_compr_components_free(cstream, NULL);
>
> - if (cpu_dai->driver->cops && cpu_dai->driver->cops->shutdown)
> - cpu_dai->driver->cops->shutdown(cstream, cpu_dai);
> + snd_soc_dai_compr_shutdown(cpu_dai, cstream);
>
> snd_soc_dapm_stream_stop(rtd, stream);
>
> @@ -301,8 +298,7 @@ static int soc_compr_free_fe(struct
> snd_compr_stream *cstream)
>
> soc_compr_components_free(cstream, NULL);
>
> - if (cpu_dai->driver->cops && cpu_dai->driver->cops->shutdown)
> - cpu_dai->driver->cops->shutdown(cstream, cpu_dai);
> + snd_soc_dai_compr_shutdown(cpu_dai, cstream);
>
> mutex_unlock(&fe->card->mutex);
> return 0;
> diff --git a/sound/soc/soc-dai.c b/sound/soc/soc-dai.c
> index 5c88f80b781d..d5cb8b0853a7 100644
> --- a/sound/soc/soc-dai.c
> +++ b/sound/soc/soc-dai.c
> @@ -517,3 +517,12 @@ int snd_soc_dai_compr_startup(struct snd_soc_dai
> *dai,
> return soc_dai_ret(dai, ret);
> }
> EXPORT_SYMBOL_GPL(snd_soc_dai_compr_startup);
> +
> +void snd_soc_dai_compr_shutdown(struct snd_soc_dai *dai,
> + struct snd_compr_stream *cstream)
> +{
> + if (dai->driver->cops &&
> + dai->driver->cops->shutdown)
> + dai->driver->cops->shutdown(cstream, dai);
I see the original code doesnt check the return value. But I think we
should here, no?
Thanks,
Ranjani
More information about the Alsa-devel
mailing list