ASoC: probe CODECs and platforms before DAIs and links
authorStephen Warren <swarren@nvidia.com>
Fri, 8 Jun 2012 18:34:23 +0000 (12:34 -0600)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 13 Jun 2012 12:18:05 +0000 (13:18 +0100)
commit62ae68fa5d6d6f93d8ca8d00e21ad7ac410f9d58
tree510b2f60d738bb2706dbf22e2930ca26de17cac9
parentd12cd198cba7949c70f596296297b772063175c0
ASoC: probe CODECs and platforms before DAIs and links

soc_probe_dai_link() currently inter-mixes the probing of CODECs,
platforms, and DAIs. This can lead to problems such as a CODEC's DAI
being probed before the CODEC, if that DAI is used as the CPU-side of
a DAI link without any other of the CODEC's DAIs having been used as
the CODEC-side of any DAI link that was probed earlier.

To solve this, split soc_probe_dai_link() into soc_probe_link_components()
and soc_probe_link_dais(). The former is used to probe all CODECs and
platforms used by a card first, and then the latter is used to probe all
the DAIs and links later.

A similar change is made to soc_remove_dai_links().

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-core.c