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: [alsa-devel] [PATCH v2 08/14] ASoC: soc-core: remove snd_soc_rtdcom_del_all()
Date: 12 Sep 2019 13:42:44 +0900	[thread overview]
Message-ID: <875zlyf7ln.wl-kuninori.morimoto.gx@renesas.com> (raw)
In-Reply-To: <87h85if7u8.wl-kuninori.morimoto.gx@renesas.com>


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

If we can use devm_kzalloc(rtd->dev, xxx) for rtdcom,
we don't need to call snd_soc_rtdcom_del_all() for kfree().
This patch uses devm_kzalloc(rtd->dev, xxx) for rtdcom,
and remove snd_soc_rtdcom_del_all().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
v1 -> v2

	- no change

 sound/soc/soc-core.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 0ffa780..ecc22b8 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -288,28 +288,29 @@ static int snd_soc_rtdcom_add(struct snd_soc_pcm_runtime *rtd,
 			return 0;
 	}
 
-	rtdcom = kmalloc(sizeof(*rtdcom), GFP_KERNEL);
+	/*
+	 * created rtdcom here will be freed when rtd->dev was freed.
+	 * see
+	 *	soc_free_pcm_runtime() :: device_unregister(rtd->dev)
+	 */
+	rtdcom = devm_kzalloc(rtd->dev, sizeof(*rtdcom), GFP_KERNEL);
 	if (!rtdcom)
 		return -ENOMEM;
 
 	rtdcom->component = component;
 	INIT_LIST_HEAD(&rtdcom->list);
 
+	/*
+	 * When rtd was freed, created rtdcom here will be
+	 * also freed.
+	 * And we don't need to call list_del(&rtdcom->list)
+	 * when freed, because rtd is also freed.
+	 */
 	list_add_tail(&rtdcom->list, &rtd->component_list);
 
 	return 0;
 }
 
-static void snd_soc_rtdcom_del_all(struct snd_soc_pcm_runtime *rtd)
-{
-	struct snd_soc_rtdcom_list *rtdcom1, *rtdcom2;
-
-	for_each_rtdcom_safe(rtd, rtdcom1, rtdcom2)
-		kfree(rtdcom1);
-
-	INIT_LIST_HEAD(&rtd->component_list);
-}
-
 struct snd_soc_component *snd_soc_rtdcom_lookup(struct snd_soc_pcm_runtime *rtd,
 						const char *driver_name)
 {
@@ -370,7 +371,6 @@ static void soc_free_pcm_runtime(struct snd_soc_pcm_runtime *rtd)
 		return;
 
 	kfree(rtd->codec_dais);
-	snd_soc_rtdcom_del_all(rtd);
 	list_del(&rtd->list);
 
 	/*
-- 
2.7.4

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

  parent reply	other threads:[~2019-09-12  4:44 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-12  4:37 [alsa-devel] [PATCH v2 00/14] ASoC: soc-core cleanup - step 3 Kuninori Morimoto
2019-09-12  4:38 ` [alsa-devel] [PATCH v2 01/14] ASoC: soc-core: move soc_free_pcm_runtime() Kuninori Morimoto
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: move soc_free_pcm_runtime()" to the asoc tree Mark Brown
2019-09-12  4:38 ` [alsa-devel] [PATCH v2 02/14] ASoC: soc-core: merge soc_add_pcm_runtime() into soc_new_pcm_runtime() Kuninori Morimoto
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: merge soc_add_pcm_runtime() into soc_new_pcm_runtime()" to the asoc tree Mark Brown
2019-09-12  4:38 ` [alsa-devel] [PATCH v2 03/14] ASoC: soc-core: call list_del(&rtd->list) at soc_free_pcm_runtime() Kuninori Morimoto
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: call list_del(&rtd->list) at soc_free_pcm_runtime()" to the asoc tree Mark Brown
2019-09-12  4:39 ` [alsa-devel] [PATCH v2 04/14] ASoC: soc-core: create rtd->codec_dais first Kuninori Morimoto
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: create rtd->codec_dais first" to the asoc tree Mark Brown
2019-09-12  4:40 ` [alsa-devel] [PATCH v2 05/14] ASoC: soc-core: merge soc_new_pcm_runtime() and soc_rtd_init() Kuninori Morimoto
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: merge soc_new_pcm_runtime() and soc_rtd_init()" to the asoc tree Mark Brown
2019-09-12  4:41 ` [alsa-devel] [PATCH v2 06/14] ASoC: soc-core: merge soc_free_pcm_runtime() and soc_rtd_free() Kuninori Morimoto
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: merge soc_free_pcm_runtime() and soc_rtd_free()" to the asoc tree Mark Brown
2019-09-12  4:42 ` [alsa-devel] [PATCH v2 07/14] ASoC: soc-core: tidyup soc_new_pcm_runtime() alloc order Kuninori Morimoto
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: tidyup soc_new_pcm_runtime() alloc order" to the asoc tree Mark Brown
2019-09-12  4:42 ` Kuninori Morimoto [this message]
2019-10-01 11:40   ` [alsa-devel] Applied "ASoC: soc-core: remove snd_soc_rtdcom_del_all()" " Mark Brown
2019-09-12  4:43 ` [alsa-devel] [PATCH v2 09/14] ASoC: soc-core: use devm_kzalloc() for rtd Kuninori Morimoto
2019-09-12  4:43 ` [alsa-devel] [PATCH v2 10/14] ASoC: soc-core: remove soc_remove_dai_links() Kuninori Morimoto
2019-09-12  4:43 ` [alsa-devel] [PATCH v2 11/14] ASoC: soc-core: add soc_setup_card_name() Kuninori Morimoto
2019-09-12  4:44 ` [alsa-devel] [PATCH v2 12/14] ASoC: soc-core: use devm_xxx for component related resource Kuninori Morimoto
2019-09-12  4:44 ` [alsa-devel] [PATCH v2 13/14] ASoC: soc-core: setup card->rtd_num at snd_soc_instantiate_card() Kuninori Morimoto
2019-09-12  4:44 ` [alsa-devel] [PATCH v2 14/14] ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() Kuninori Morimoto

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=875zlyf7ln.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.