OSDN Git Service

ASoC: soc-core: self contained soc_unbind_aux_dev()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 4 Sep 2019 00:15:40 +0000 (09:15 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 9 Sep 2019 10:04:15 +0000 (11:04 +0100)
commite8fbd2505242467044ec51bf57c642a50ed28a14
tree91af4765a37c9a29607e1bfa3c49ccbfff4d48dc
parent4893a2eb34a9722501915a0b75844aa11956c10d
ASoC: soc-core: self contained soc_unbind_aux_dev()

Current soc_unbind_aux_dev() implementation is very half,
thus it is very unreadable.

for_each_comp_order(order) {
for_each_card_auxs_safe(card, comp, _comp) {

(1) if (comp->driver->remove_order == order) {
...
=> soc_unbind_aux_dev(comp);
}
}

soc_unbind_aux_dev() itself is not related to remove_order (1).
And, it is called from soc_remove_aux_devices(), even though
its paired function soc_bind_aux_dev() is called from
snd_soc_instantiate_card().
It is very unbalance, and very difficult to understand.

This patch do
1) update soc_bind_aux_dev() to self contained
2) call it from soc_cleanup_card_resources() to make up balance

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87r24wor0z.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c