ASoC: simple-card: count DAI / link numbers as in order
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 26 Mar 2021 03:26:33 +0000 (12:26 +0900)
committerMark Brown <broonie@kernel.org>
Wed, 31 Mar 2021 12:42:43 +0000 (13:42 +0100)
commita6e8798061bf0f33caea6fd47b0cb367309e34d0
treeafa349f2dd465831019135cd77e3ff6268ca0463
parente9cbcf23a28b41a310a13d0b1b67501948b255fb
ASoC: simple-card: count DAI / link numbers as in order

simple-card checks DT links 2 times. 1st is for counting DAIs / links
to allocating memory, 2nd is for detecting DAIs.
To detecting DAIs as CPU-dummy -> dummy-Codec order when DPCM case,
it uses loops 2 times at 2nd DT link check.
But it doesn't do it at 1st DT link check.

for (li.cpu = 1; li.cpu >= 0; li.cpu--) {
/*
 * Detect all CPU first, and Detect all Codec 2n
 *
 * In Normal sound case, all DAIs are detected
 * as "CPU-Codec".
 *
 * In DPCM sound case,
 * all CPUs   are detected as "CPU-dummy", and
 * all Codecs are detected as "dummy-Codec".
 * To avoid random sub-device numbering,
 * detect "dummy-Codec" in last;
 */
ret = simple_for_each_link(...);
...
}

To prepare supporting multi-CPU/Codec, and code cleanup,
this patch use same loop for 1st DT link check, too.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/877dlu1tp2.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/simple-card.c