summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-08-23 09:58:47 +0900
committerMark Brown <broonie@kernel.org>2019-09-02 13:21:02 +0100
commitb614beafa495c7f6fbc15cb6977e3fe48beea1e5 (patch)
tree436e6fad1c06e00d9047674b1c6f59a1ef9c9798
parentffd60fba19d9752f553aac367cd40362011ab6c9 (diff)
downloadlinux-b614beafa495c7f6fbc15cb6977e3fe48beea1e5.tar.bz2
ASoC: soc-core: dapm related setup at one place
Current ASoC setups some dapm related member at snd_soc_component_initialize() which is called when component was registered, and setups remaining member at soc_probe_component() which is called when component was probed. This kind of setup separation is no meanings, and it is very difficult to read and confusable. This patch setups all dapm settings at one place. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87r25c7lbo.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/soc-core.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 8fa1cfcc6f17..21c005a044e8 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1019,12 +1019,19 @@ static int soc_probe_component(struct snd_soc_card *card,
return ret;
component->card = card;
- dapm->card = card;
- INIT_LIST_HEAD(&dapm->list);
soc_set_name_prefix(card, component);
soc_init_component_debugfs(component);
+ INIT_LIST_HEAD(&dapm->list);
+ dapm->card = card;
+ dapm->dev = component->dev;
+ dapm->component = component;
+ dapm->bias_level = SND_SOC_BIAS_OFF;
+ dapm->idle_bias_off = !component->driver->idle_bias_on;
+ dapm->suspend_bias_off = component->driver->suspend_bias_off;
+ list_add(&dapm->list, &card->dapm_list);
+
ret = snd_soc_dapm_new_controls(dapm,
component->driver->dapm_widgets,
component->driver->num_dapm_widgets);
@@ -1077,7 +1084,6 @@ static int soc_probe_component(struct snd_soc_card *card,
if (ret < 0)
goto err_probe;
- list_add(&dapm->list, &card->dapm_list);
/* see for_each_card_components */
list_add(&component->card_list, &card->component_dev_list);
@@ -2649,8 +2655,6 @@ EXPORT_SYMBOL_GPL(snd_soc_register_dai);
static int snd_soc_component_initialize(struct snd_soc_component *component,
const struct snd_soc_component_driver *driver, struct device *dev)
{
- struct snd_soc_dapm_context *dapm;
-
INIT_LIST_HEAD(&component->dai_list);
INIT_LIST_HEAD(&component->dobj_list);
INIT_LIST_HEAD(&component->card_list);
@@ -2665,13 +2669,6 @@ static int snd_soc_component_initialize(struct snd_soc_component *component,
component->dev = dev;
component->driver = driver;
- dapm = snd_soc_component_get_dapm(component);
- dapm->dev = dev;
- dapm->component = component;
- dapm->bias_level = SND_SOC_BIAS_OFF;
- dapm->idle_bias_off = !driver->idle_bias_on;
- dapm->suspend_bias_off = driver->suspend_bias_off;
-
return 0;
}