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>,
	"Sridharan, Ranjani" <ranjani.sridharan@intel.com>
Subject: [PATCH resend 11/11] ASoC: soc-core: add soc_unbind_aux_dev()
Date: 20 Aug 2019 14:05:48 +0900	[thread overview]
Message-ID: <87r25gzayx.wl-kuninori.morimoto.gx@renesas.com> (raw)
In-Reply-To: <87a7c41lf1.wl-kuninori.morimoto.gx@renesas.com>


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

It is easy to read code if it is cleanly using paired function/naming,
like start <-> stop, register <-> unregister, etc, etc.
But, current ALSA SoC code is very random, unbalance, not paired, etc.
It is easy to create bug at the such code, and it will be difficult to
debug.

soc-core.c has soc_bind_aux_dev(), but, there is no its paired
soc_unbind_aux_dev().
This patch adds soc_unbind_aux_dev().

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

	- care component->init

 sound/soc/soc-core.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 39248e2..c433bdb 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1529,6 +1529,12 @@ static int soc_probe_link_dais(struct snd_soc_card *card,
 	return ret;
 }
 
+static void soc_unbind_aux_dev(struct snd_soc_component *component)
+{
+	component->init = NULL;
+	list_del(&component->card_aux_list);
+}
+
 static int soc_bind_aux_dev(struct snd_soc_card *card,
 			    struct snd_soc_aux_dev *aux_dev)
 {
@@ -1580,7 +1586,7 @@ static void soc_remove_aux_devices(struct snd_soc_card *card)
 			if (comp->driver->remove_order == order) {
 				soc_remove_component(comp);
 				/* remove it from the card's aux_comp_list */
-				list_del(&comp->card_aux_list);
+				soc_unbind_aux_dev(comp);
 			}
 		}
 	}
-- 
2.7.4

      parent reply	other threads:[~2019-08-20  5:05 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-20  5:04 [PATCH resend 00/11] ASoC: soc-core cleanup repost Kuninori Morimoto
2019-08-20  5:04 ` [PATCH resend 01/11] ASoC: soc-core: use device_register() Kuninori Morimoto
2019-08-22 18:32   ` Applied "ASoC: soc-core: use device_register()" to the asoc tree Mark Brown
2019-08-20  5:04 ` [PATCH resend 02/11] ASoC: soc-core: merge snd_soc_initialize_card_lists() Kuninori Morimoto
2019-08-21 12:15   ` Applied "ASoC: soc-core: merge snd_soc_initialize_card_lists()" to the asoc tree Mark Brown
2019-08-20  5:04 ` [PATCH resend 03/11] ASoC: soc-core: remove unneeded dai_link check from snd_soc_remove_dai_link() Kuninori Morimoto
2019-08-21 12:15   ` Applied "ASoC: soc-core: remove unneeded dai_link check from snd_soc_remove_dai_link()" to the asoc tree Mark Brown
2019-08-20  5:05 ` [PATCH resend 04/11] ASoC: soc-core: add NOTE to snd_soc_rtdcom_lookup() Kuninori Morimoto
2019-08-22 18:32   ` Applied "ASoC: soc-core: add NOTE to snd_soc_rtdcom_lookup()" to the asoc tree Mark Brown
2019-08-20  5:05 ` [PATCH resend 05/11] ASoC: soc-core: don't alloc memory carelessly when creating debugfs Kuninori Morimoto
2019-08-22 17:18   ` Mark Brown
2019-08-20  5:05 ` [PATCH resend 06/11] ASoC: soc-core: soc_cleanup_card_resources() become void Kuninori Morimoto
2019-08-22 18:32   ` Applied "ASoC: soc-core: soc_cleanup_card_resources() become void" to the asoc tree Mark Brown
2019-08-20  5:05 ` [PATCH resend 07/11] ASoC: soc-core: initialize component list Kuninori Morimoto
2019-08-22 18:32   ` Applied "ASoC: soc-core: initialize component list" to the asoc tree Mark Brown
2019-08-20  5:05 ` [PATCH resend 08/11] ASoC: soc-core: initialize list at one place Kuninori Morimoto
2019-08-22 18:32   ` Applied "ASoC: soc-core: initialize list at one place" to the asoc tree Mark Brown
2019-08-20  5:05 ` [PATCH resend 08/11] ASoC: soc-core: initialize list at one place Kuninori Morimoto
2019-08-20  5:05 ` [PATCH resend 09/11] ASoC: soc-dai: use bit field for bus_control Kuninori Morimoto
2019-08-22 18:32   ` Applied "ASoC: soc-dai: use bit field for bus_control" to the asoc tree Mark Brown
2019-08-20  5:05 ` [PATCH resend 10/11] ASoC: soc-topology: use for_each_component_dais() at remove_dai() Kuninori Morimoto
2019-08-22 18:32   ` Applied "ASoC: soc-topology: use for_each_component_dais() at remove_dai()" to the asoc tree Mark Brown
2019-08-20  5:05 ` [PATCH resend 10/11] ASoC: soc-topology: use for_each_component_dais() at remove_dai() Kuninori Morimoto
2019-08-20  5:05 ` Kuninori Morimoto [this message]

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=87r25gzayx.wl-kuninori.morimoto.gx@renesas.com \
    --to=kuninori.morimoto.gx@renesas.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=ranjani.sridharan@intel.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 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.