[03/24] ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c

Message ID 875zcbzhx5.wl-kuninori.morimoto.gx@renesas.com
State Accepted
Commit 536aba1dd4939bf647f5d182d4f101ae548e6505
Headers show
Series
  • ASoC: soc-component: collect component functions
Related show

Commit Message

Kuninori Morimoto June 1, 2020, 1:36 a.m.
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

snd_soc_component_xxx() should be implemented at soc-component.c

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 include/sound/soc-component.h |  4 ++++
 sound/soc/soc-component.c     | 16 ++++++++++++++++
 sound/soc/soc-core.c          | 29 ++++++++---------------------
 3 files changed, 28 insertions(+), 21 deletions(-)

Patch

diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h
index 481132141dc2..cb0d34fa77c6 100644
--- a/include/sound/soc-component.h
+++ b/include/sound/soc-component.h
@@ -324,6 +324,10 @@  static inline int snd_soc_component_cache_sync(
 	return regcache_sync(component->regmap);
 }
 
+int snd_soc_component_initialize(struct snd_soc_component *component,
+				 const struct snd_soc_component_driver *driver,
+				 struct device *dev, const char *name);
+
 /* component IO */
 int snd_soc_component_read(struct snd_soc_component *component,
 			   unsigned int reg, unsigned int *val);
diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c
index 3c96a1adaa8b..5bf2e71d3d83 100644
--- a/sound/soc/soc-component.c
+++ b/sound/soc/soc-component.c
@@ -8,6 +8,22 @@ 
 #include <linux/module.h>
 #include <sound/soc.h>
 
+int snd_soc_component_initialize(struct snd_soc_component *component,
+				 const struct snd_soc_component_driver *driver,
+				 struct device *dev, const char *name)
+{
+	INIT_LIST_HEAD(&component->dai_list);
+	INIT_LIST_HEAD(&component->dobj_list);
+	INIT_LIST_HEAD(&component->card_list);
+	mutex_init(&component->io_mutex);
+
+	component->name		= name;
+	component->dev		= dev;
+	component->driver	= driver;
+
+	return 0;
+}
+
 /**
  * snd_soc_component_set_sysclk - configure COMPONENT system or master clock.
  * @component: COMPONENT
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 8e90426d2770..7e22facf14ea 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -2361,26 +2361,6 @@  static int snd_soc_register_dais(struct snd_soc_component *component,
 	return ret;
 }
 
-static int snd_soc_component_initialize(struct snd_soc_component *component,
-	const struct snd_soc_component_driver *driver, struct device *dev)
-{
-	INIT_LIST_HEAD(&component->dai_list);
-	INIT_LIST_HEAD(&component->dobj_list);
-	INIT_LIST_HEAD(&component->card_list);
-	mutex_init(&component->io_mutex);
-
-	component->name = fmt_single_name(dev, &component->id);
-	if (!component->name) {
-		dev_err(dev, "ASoC: Failed to allocate name\n");
-		return -ENOMEM;
-	}
-
-	component->dev = dev;
-	component->driver = driver;
-
-	return 0;
-}
-
 #define ENDIANNESS_MAP(name) \
 	(SNDRV_PCM_FMTBIT_##name##LE | SNDRV_PCM_FMTBIT_##name##BE)
 static u64 endianness_format_map[] = {
@@ -2443,12 +2423,19 @@  int snd_soc_add_component(struct device *dev,
 			struct snd_soc_dai_driver *dai_drv,
 			int num_dai)
 {
+	const char *name = fmt_single_name(dev, &component->id);
 	int ret;
 	int i;
 
+	if (!name) {
+		dev_err(dev, "ASoC: Failed to allocate name\n");
+		return -ENOMEM;
+	}
+
 	mutex_lock(&client_mutex);
 
-	ret = snd_soc_component_initialize(component, component_driver, dev);
+	ret = snd_soc_component_initialize(component, component_driver,
+					   dev, name);
 	if (ret)
 		goto err_free;