tree ac57b90f8712120b1d15abc86439accde067c585
parent 7b9b5e11704afb8f05aa6490c3b4bb2cc328647c
author Stephen Warren <swarren@nvidia.com> 1323291507 -0700
committer Mark Brown <broonie@opensource.wolfsonmicro.com> 1323405954 +0800

ASoC: Refactor some conditions and loop in soc_bind_dai_link()

Transform some loops from:

for_each(x) {
    if (f(x)) {
        work_on(x);
    }
}

to new structure:

for_each(x) {
    if (!f(x))
        continue;

    work_on(x);
}

This will allow future modification of f(x) with less impact to the code.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
