On Fri, Mar 12, 2021 at 02:37:30PM +0200, Daniel Baluta wrote:
On Fri, Mar 12, 2021 at 1:59 PM Mark Brown broonie@kernel.org wrote:
No, just the opposite! If there's an explict name configured why do you want to ignore it?
Because the initial assignment:
dai_link->platforms->name = component->name;
doesn't take into consideration that dai_link->platform->of_node is also explicitly configured.
But why should we take that into consideration here?
dai->link->platforms->of_node configured and we hit this error:
soc_dai_link_sanity_check: /*
- Platform may be specified by either name or OF node, but it
- can be left unspecified, then no components will be inserted
- in the rtdcom list
*/ if (!!platform->name == !!platform->of_node) { dev_err(card->dev, "ASoC: Neither/both platform name/of_node are set for %s\n", link->name); return -EINVAL; }
OK, but then does this check actually make sense? The code has been that way since the initial DT introduction since we disallow matching by both name and OF node in order to avoid confusion when building the card so I think it does but it's only with this mail that I get the information to figure out that this is something we actually check for then go find the reason why we check.