alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>,
	Mark Brown <broonie@kernel.org>
Subject: [alsa-devel] Applied "ASoC: soc-core: merge snd_soc_add_dai_link() and soc_bind_dai_link()" to the asoc tree
Date: Tue, 12 Nov 2019 18:47:12 +0000 (GMT)	[thread overview]
Message-ID: <20191112184712.40E0427429FE@ypsilon.sirena.org.uk> (raw)
In-Reply-To: <87r22lhkx8.wl-kuninori.morimoto.gx@renesas.com>

The patch

   ASoC: soc-core: merge snd_soc_add_dai_link() and soc_bind_dai_link()

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.5

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 63dc47da1f396fecd2373e41928e275f9ca3d924 Mon Sep 17 00:00:00 2001
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date: Wed, 6 Nov 2019 10:07:31 +0900
Subject: [PATCH] ASoC: soc-core: merge snd_soc_add_dai_link() and
 soc_bind_dai_link()

We don't need to separete snd_soc_add_dai_link() and
soc_bind_dai_link() anymore. Let's merge these.

One note is that before this patch, it adds list (A)
eventhough if it had dai_link->ignore (1), or already bounded dai_link (2).
But I guess it is wrong. This patch also solve this issue.

/* BEFORE */
	int soc_bind_dai_link(...)
	{
		...
(1)		if (dai_link->ignore)
			return 0;

(2)		if (soc_is_dai_link_bound(...))
			return 0;
		...
	}

	int snd_soc_add_dai_link(...)
	{
		...
=>		ret = soc_bind_dai_link(...);
=>		if (ret < 0)
=>			return ret;

(A)		list_add_tail(&dai_link->list, &card->dai_link_list);
		...
	}

/* AFTER */

	int snd_soc_add_dai_link(...)
	{
		...
(1)		if (dai_link->ignore)
			return 0;

(2)		if (soc_is_dai_link_bound(...))
			return 0;
		...
(A)		list_add_tail(&dai_link->list, &card->dai_link_list);
		return 0;
	}

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87r22lhkx8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/soc-core.c | 62 ++++++++++++++++++--------------------------
 1 file changed, 25 insertions(+), 37 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 01a8fb28b48f..8add98431881 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1059,14 +1059,33 @@ static void soc_unbind_dai_link(struct snd_soc_card *card,
 		soc_free_pcm_runtime(rtd);
 }
 
-static int soc_bind_dai_link(struct snd_soc_card *card,
-	struct snd_soc_dai_link *dai_link)
+/**
+ * snd_soc_add_dai_link - Add a DAI link dynamically
+ * @card: The ASoC card to which the DAI link is added
+ * @dai_link: The new DAI link to add
+ *
+ * This function adds a DAI link to the ASoC card's link list.
+ *
+ * Note: Topology can use this API to add DAI links when probing the
+ * topology component. And machine drivers can still define static
+ * DAI links in dai_link array.
+ */
+int snd_soc_add_dai_link(struct snd_soc_card *card,
+			 struct snd_soc_dai_link *dai_link)
 {
 	struct snd_soc_pcm_runtime *rtd;
 	struct snd_soc_dai_link_component *codec, *platform;
 	struct snd_soc_component *component;
 	int i, ret;
 
+	lockdep_assert_held(&client_mutex);
+
+	/*
+	 * Notify the machine driver for extra initialization
+	 */
+	if (card->add_dai_link)
+		card->add_dai_link(card, dai_link);
+
 	if (dai_link->ignore)
 		return 0;
 
@@ -1115,12 +1134,16 @@ static int soc_bind_dai_link(struct snd_soc_card *card,
 		}
 	}
 
+	/* see for_each_card_links */
+	list_add_tail(&dai_link->list, &card->dai_link_list);
+
 	return 0;
 
 _err_defer:
 	soc_free_pcm_runtime(rtd);
 	return -EPROBE_DEFER;
 }
+EXPORT_SYMBOL_GPL(snd_soc_add_dai_link);
 
 static void soc_set_of_name_prefix(struct snd_soc_component *component)
 {
@@ -1411,41 +1434,6 @@ void snd_soc_disconnect_sync(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(snd_soc_disconnect_sync);
 
-/**
- * snd_soc_add_dai_link - Add a DAI link dynamically
- * @card: The ASoC card to which the DAI link is added
- * @dai_link: The new DAI link to add
- *
- * This function adds a DAI link to the ASoC card's link list.
- *
- * Note: Topology can use this API to add DAI links when probing the
- * topology component. And machine drivers can still define static
- * DAI links in dai_link array.
- */
-int snd_soc_add_dai_link(struct snd_soc_card *card,
-		struct snd_soc_dai_link *dai_link)
-{
-	int ret;
-
-	lockdep_assert_held(&client_mutex);
-
-	/*
-	 * Notify the machine driver for extra initialization
-	 */
-	if (card->add_dai_link)
-		card->add_dai_link(card, dai_link);
-
-	ret = soc_bind_dai_link(card, dai_link);
-	if (ret < 0)
-		return ret;
-
-	/* see for_each_card_links */
-	list_add_tail(&dai_link->list, &card->dai_link_list);
-
-	return 0;
-}
-EXPORT_SYMBOL_GPL(snd_soc_add_dai_link);
-
 /**
  * snd_soc_remove_dai_link - Remove a DAI link from the list
  * @card: The ASoC card that owns the link
-- 
2.20.1

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2019-11-12 18:50 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-06  1:06 [alsa-devel] [PATCH 0/9] ASoC: soc-core: cleanup step5 Kuninori Morimoto
2019-11-06  1:07 ` [alsa-devel] [PATCH 1/9] ASoC: soc-core: remove soc_is_dai_link_bound() Kuninori Morimoto
2019-11-12 18:47   ` [alsa-devel] Applied "ASoC: soc-core: remove soc_is_dai_link_bound()" to the asoc tree Mark Brown
2019-11-06  1:07 ` [alsa-devel] [PATCH 2/9] ASoC: soc-core: merge snd_soc_register_dai() and soc_add_dai() Kuninori Morimoto
2019-11-12 18:47   ` [alsa-devel] Applied "ASoC: soc-core: merge snd_soc_register_dai() and soc_add_dai()" to the asoc tree Mark Brown
2019-11-06  1:07 ` [alsa-devel] [PATCH 3/9] ASoC: soc-core: merge snd_soc_unregister_dai() and soc_del_dai() Kuninori Morimoto
2019-11-12 18:47   ` [alsa-devel] Applied "ASoC: soc-core: merge snd_soc_unregister_dai() and soc_del_dai()" to the asoc tree Mark Brown
2019-11-06  1:07 ` [alsa-devel] [PATCH 4/9] ASoC: soc-core: merge snd_soc_add_dai_link() and soc_bind_dai_link() Kuninori Morimoto
2019-11-12 18:47   ` Mark Brown [this message]
2019-11-06  1:07 ` [alsa-devel] [PATCH 5/9] ASoC: soc-core: merge snd_soc_remove_dai_link() and soc_unbind_dai_link() Kuninori Morimoto
2019-11-12 18:47   ` [alsa-devel] Applied "ASoC: soc-core: merge snd_soc_remove_dai_link() and soc_unbind_dai_link()" to the asoc tree Mark Brown
2019-11-06  1:07 ` [alsa-devel] [PATCH 6/9] ASoC: soc-core: merge soc_remove_component() and soc_cleanup_component() Kuninori Morimoto
2019-11-12 18:46   ` Mark Brown
2019-11-13  0:50     ` Kuninori Morimoto
2019-11-12 18:47   ` [alsa-devel] Applied "ASoC: soc-core: merge soc_remove_component() and soc_cleanup_component()" to the asoc tree Mark Brown
2019-11-06  1:07 ` [alsa-devel] [PATCH 7/9] ASoC: soc-core: merge snd_soc_bind_card() and snd_soc_instantiate_card() Kuninori Morimoto
2019-11-12 18:47   ` [alsa-devel] Applied "ASoC: soc-core: merge snd_soc_bind_card() and snd_soc_instantiate_card()" to the asoc tree Mark Brown
2019-11-06  1:08 ` [alsa-devel] [PATCH 8/9] ASoC: soc-core: tidyup soc_probe_aux_devices() Kuninori Morimoto
2019-11-12 18:47   ` [alsa-devel] Applied "ASoC: soc-core: tidyup soc_probe_aux_devices()" to the asoc tree Mark Brown
2019-11-06  1:08 ` [alsa-devel] [PATCH 9/9] ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources() Kuninori Morimoto
2019-11-06  2:34   ` Sridharan, Ranjani
2019-11-06  2:40     ` Kuninori Morimoto
2019-11-06  2:45       ` Sridharan, Ranjani
2019-11-06  2:56         ` Kuninori Morimoto
2019-11-06  3:09           ` Sridharan, Ranjani

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=20191112184712.40E0427429FE@ypsilon.sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).