ASoC: when initializing CPU DAI, don't duplicate any CODEC init
authorStephen Warren <swarren@nvidia.com>
Fri, 8 Jun 2012 18:34:20 +0000 (12:34 -0600)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 13 Jun 2012 12:18:04 +0000 (13:18 +0100)
commita9db7dbee0436f0c741c6dfb39ab0241d4131539
tree0049b77bd27152da4728a860c5850866a74f5c00
parentb883f363495f3d2e237170f6b8814869a3dd16fe
ASoC: when initializing CPU DAI, don't duplicate any CODEC init

If the CPU-side of a DAI link is a CODEC rather than a standalone DAI,
the codec initialization will call try_module_get() and create the DAI
widgets. Ensure that this isn't duplicated when the CPU DAI itself is
probed, if the CPU DAI is part of a CODEC.

Note that this is not a complete fix on its own, since there's no
guarantee that the CODEC itself will be initialized - currently that only
happens if the CODEC is also used as the CODEC-side of a DAI link, and
that initialization may happen before or after the DAIs within the CODEC
are initialized. However, such a scenario doesn't necessarily currently
work, and I don't think this change alone makes it any worse. This is
fixed in a couple patches time.

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