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 01/11] ASoC: soc-core: use device_register()
Date: 20 Aug 2019 14:04:49 +0900	[thread overview]
Message-ID: <878sro1ldw.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.

soc-core.c is using device_unregiser(), but there is no its paired
device_regiser(). We can find its code at soc_post_component_init()
which is using device_initialize() and device_add().
Here, device_initialize() + device_add() = device_register().

	-- linux/drivers/base/core.c --
	int device_register(struct device *dev)
	{
		device_initialize(dev);
		return device_add(dev);
	}

device_initialize() is doing each dev member's initialization only,
not related to device parent/release/groups.
Thus, we can postpone it.
let's use device_register() instead of device_initialize()/device_add().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
---
v2 -> v3

	- add Ranjani's Reviewed-by

 sound/soc/soc-core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index b3f820f..b3d02e7 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1354,7 +1354,6 @@ static int soc_post_component_init(struct snd_soc_pcm_runtime *rtd,
 	rtd->dev = kzalloc(sizeof(struct device), GFP_KERNEL);
 	if (!rtd->dev)
 		return -ENOMEM;
-	device_initialize(rtd->dev);
 	rtd->dev->parent = rtd->card->dev;
 	rtd->dev->release = rtd_release;
 	rtd->dev->groups = soc_dev_attr_groups;
@@ -1364,7 +1363,7 @@ static int soc_post_component_init(struct snd_soc_pcm_runtime *rtd,
 	INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_CAPTURE].be_clients);
 	INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_PLAYBACK].fe_clients);
 	INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_CAPTURE].fe_clients);
-	ret = device_add(rtd->dev);
+	ret = device_register(rtd->dev);
 	if (ret < 0) {
 		/* calling put_device() here to free the rtd->dev */
 		put_device(rtd->dev);
-- 
2.7.4

  reply	other threads:[~2019-08-20  5:04 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 ` Kuninori Morimoto [this message]
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 ` [PATCH resend 11/11] ASoC: soc-core: add soc_unbind_aux_dev() 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=878sro1ldw.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.