All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
To: Mark Brown <broonie@kernel.org>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>
Subject: [PATCH 07/16] ASoC: soc-dai: add snd_soc_dai_trigger()
Date: 22 Jul 2019 10:33:51 +0900	[thread overview]
Message-ID: <87sgqyhn40.wl-kuninori.morimoto.gx@renesas.com> (raw)
In-Reply-To: <8736iyj1yr.wl-kuninori.morimoto.gx@renesas.com>


From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Current ALSA SoC is directly using dai->driver->ops->xxx,
thus, it has deep nested bracket, and it makes code unreadable.
This patch adds new snd_soc_dai_trigger() and use it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 include/sound/soc-dai.h |  2 ++
 sound/soc/soc-dai.c     | 12 ++++++++++++
 sound/soc/soc-pcm.c     | 17 ++++++-----------
 3 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
index c7dff6a..72b8e76 100644
--- a/include/sound/soc-dai.h
+++ b/include/sound/soc-dai.h
@@ -156,6 +156,8 @@ void snd_soc_dai_shutdown(struct snd_soc_dai *dai,
 			  struct snd_pcm_substream *substream);
 int snd_soc_dai_prepare(struct snd_soc_dai *dai,
 			struct snd_pcm_substream *substream);
+int snd_soc_dai_trigger(struct snd_soc_dai *dai,
+			struct snd_pcm_substream *substream, int cmd);
 
 struct snd_soc_dai_ops {
 	/*
diff --git a/sound/soc/soc-dai.c b/sound/soc/soc-dai.c
index cb81088..18c447e 100644
--- a/sound/soc/soc-dai.c
+++ b/sound/soc/soc-dai.c
@@ -318,3 +318,15 @@ int snd_soc_dai_prepare(struct snd_soc_dai *dai,
 
 	return ret;
 }
+
+int snd_soc_dai_trigger(struct snd_soc_dai *dai,
+			struct snd_pcm_substream *substream,
+			int cmd)
+{
+	int ret = 0;
+
+	if (dai->driver->ops->trigger)
+		ret = dai->driver->ops->trigger(substream, cmd, dai);
+
+	return ret;
+}
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index d7611af..a628b08 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -1084,12 +1084,9 @@ static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
 	int i, ret;
 
 	for_each_rtd_codec_dai(rtd, i, codec_dai) {
-		if (codec_dai->driver->ops->trigger) {
-			ret = codec_dai->driver->ops->trigger(substream,
-							      cmd, codec_dai);
-			if (ret < 0)
-				return ret;
-		}
+		ret = snd_soc_dai_trigger(codec_dai, substream, cmd);
+		if (ret < 0)
+			return ret;
 	}
 
 	for_each_rtdcom(rtd, rtdcom) {
@@ -1104,11 +1101,9 @@ static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
 			return ret;
 	}
 
-	if (cpu_dai->driver->ops->trigger) {
-		ret = cpu_dai->driver->ops->trigger(substream, cmd, cpu_dai);
-		if (ret < 0)
-			return ret;
-	}
+	snd_soc_dai_trigger(cpu_dai, substream, cmd);
+	if (ret < 0)
+		return ret;
 
 	if (rtd->dai_link->ops->trigger) {
 		ret = rtd->dai_link->ops->trigger(substream, cmd);
-- 
2.7.4

  parent reply	other threads:[~2019-07-22  1:33 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-22  1:27 [PATCH 00/16] ASoC: add soc-dai.c Kuninori Morimoto
2019-07-22  1:32 ` [PATCH 01/16] " Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: add soc-dai.c" to the asoc tree Mark Brown
2019-07-22  1:33 ` [PATCH 02/16] ASoC: soc-dai: mv soc_dai_hw_params() to soc-dai Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: mv soc_dai_hw_params() to soc-dai" to the asoc tree Mark Brown
2019-07-22  1:33 ` [PATCH 03/16] ASoC: soc-dai: add snd_soc_dai_hw_free() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_hw_free()" to the asoc tree Mark Brown
2019-07-22  1:33 ` [PATCH 04/16] ASoC: soc-dai: add snd_soc_dai_startup() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_startup()" to the asoc tree Mark Brown
2019-07-22  1:33 ` [PATCH 05/16] ASoC: soc-dai: add snd_soc_dai_shutdown() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_shutdown()" to the asoc tree Mark Brown
2019-07-22  1:33 ` [PATCH 06/16] ASoC: soc-dai: add snd_soc_dai_prepare() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_prepare()" to the asoc tree Mark Brown
2019-07-22  1:33 ` Kuninori Morimoto [this message]
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_trigger()" " Mark Brown
2019-07-22  1:33 ` [PATCH 08/16] ASoC: soc-dai: add snd_soc_dai_bespoke_trigger() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_bespoke_trigger()" to the asoc tree Mark Brown
2019-07-22  1:34 ` [PATCH 08/16] ASoC: soc-dai: add snd_soc_dai_bespoke_trigger() Kuninori Morimoto
2019-07-22  1:34 ` [PATCH 09/16] ASoC: soc-dai: add snd_soc_dai_delay() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_delay()" to the asoc tree Mark Brown
2019-07-22  1:34 ` [PATCH 10/16] ASoC: soc-dai: add snd_soc_dai_suspend() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_suspend()" to the asoc tree Mark Brown
2019-07-22  1:34 ` [PATCH 11/16] ASoC: soc-dai: add snd_soc_dai_resume() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_resume()" to the asoc tree Mark Brown
2019-07-22  1:34 ` [PATCH 12/16] ASoC: soc-dai: add snd_soc_dai_probe() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_probe()" to the asoc tree Mark Brown
2019-07-22  1:35 ` [PATCH 13/16] ASoC: soc-dai: add snd_soc_dai_remove() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_remove()" to the asoc tree Mark Brown
2019-07-22  1:35 ` [PATCH 14/16] ASoC: soc-dai: add snd_soc_dai_compress_new() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: add snd_soc_dai_compress_new()" to the asoc tree Mark Brown
2019-07-22  1:36 ` [PATCH 15/16] ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c" to the asoc tree Mark Brown
2019-07-22  1:36 ` [PATCH 16/16] ASoC: soc-core: use existing snd_soc_dai_digital_mute() Kuninori Morimoto
2019-07-23 17:18   ` Applied "ASoC: soc-core: use existing snd_soc_dai_digital_mute()" to the asoc tree Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sgqyhn40.wl-kuninori.morimoto.gx@renesas.com \
    --to=kuninori.morimoto.gx@renesas.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.