ASoC: core: Simplify snd_soc_component_initialize declaration
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 31 Jul 2020 14:41:45 +0000 (16:41 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 31 Jul 2020 18:35:58 +0000 (19:35 +0100)
Move 'name' field initialization responsibility back to
snd_soc_component_initialize to prepare snd_soc_add_component function
for being called separatelly as a second registration step.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20200731144146.6678-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc.h
sound/soc/soc-core.c

index 77a304d..7873743 100644 (file)
@@ -416,7 +416,7 @@ static inline int snd_soc_resume(struct device *dev)
 int snd_soc_poweroff(struct device *dev);
 int snd_soc_component_initialize(struct snd_soc_component *component,
                                 const struct snd_soc_component_driver *driver,
-                                struct device *dev, const char *name);
+                                struct device *dev);
 int snd_soc_add_component(struct device *dev,
                struct snd_soc_component *component,
                const struct snd_soc_component_driver *component_driver,
index 36eba1b..d815540 100644 (file)
@@ -2440,14 +2440,19 @@ static void snd_soc_del_component_unlocked(struct snd_soc_component *component)
 
 int snd_soc_component_initialize(struct snd_soc_component *component,
                                 const struct snd_soc_component_driver *driver,
-                                struct device *dev, const char *name)
+                                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         = name;
+       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;
 
@@ -2461,19 +2466,12 @@ 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, name);
+       ret = snd_soc_component_initialize(component, component_driver, dev);
        if (ret)
                goto err_free;