summaryrefslogtreecommitdiff
path: root/sound/soc
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-09-04 03:15:28 +0300
committerMark Brown <broonie@kernel.org>2019-09-09 13:03:44 +0300
commitbee886f1ea9d9e58bef8204c543a409c399f8744 (patch)
tree6cc2fb074248ca1bed00b775008b761bbb960e9f /sound/soc
parentbc7c16c226a919a509e4161c905bfe9981a17f02 (diff)
downloadlinux-bee886f1ea9d9e58bef8204c543a409c399f8744.tar.xz
ASoC: soc-core: self contained soc_bind_aux_dev()
Current soc_bind_aux_dev() implementation is very half, thus it is very unreadable. for_each_card_pre_auxs(xxx) { => ret = soc_bind_aux_dev(xxx); ... } This patch does all for_each_xxx() under soc_bind_aux_dev(), and makes it to self contained. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87tv9sor1b.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/soc-core.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 20381f69a34b..d7761df03e19 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1559,20 +1559,22 @@ static int soc_link_init(struct snd_soc_card *card,
return ret;
}
-static int soc_bind_aux_dev(struct snd_soc_card *card,
- struct snd_soc_aux_dev *aux_dev)
+static int soc_bind_aux_dev(struct snd_soc_card *card)
{
struct snd_soc_component *component;
+ struct snd_soc_aux_dev *aux;
+ int i;
- /* codecs, usually analog devices */
- component = soc_find_component(&aux_dev->dlc);
- if (!component)
- return -EPROBE_DEFER;
-
- component->init = aux_dev->init;
- /* see for_each_card_auxs */
- list_add(&component->card_aux_list, &card->aux_comp_list);
+ for_each_card_pre_auxs(card, i, aux) {
+ /* codecs, usually analog devices */
+ component = soc_find_component(&aux->dlc);
+ if (!component)
+ return -EPROBE_DEFER;
+ component->init = aux->init;
+ /* see for_each_card_auxs */
+ list_add(&component->card_aux_list, &card->aux_comp_list);
+ }
return 0;
}
@@ -1937,7 +1939,6 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card)
{
struct snd_soc_pcm_runtime *rtd;
struct snd_soc_dai_link *dai_link;
- struct snd_soc_aux_dev *aux;
int ret, i;
mutex_lock(&client_mutex);
@@ -1965,11 +1966,9 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card)
}
/* bind aux_devs too */
- for_each_card_pre_auxs(card, i, aux) {
- ret = soc_bind_aux_dev(card, aux);
- if (ret != 0)
- goto probe_end;
- }
+ ret = soc_bind_aux_dev(card);
+ if (ret < 0)
+ goto probe_end;
/* add predefined DAI links to the list */
for_each_card_prelinks(card, i, dai_link) {