Re: [PATCH] ASoC: core: Don't set platform name when of_node is set

From: Mark Brown
Date: Fri Mar 12 2021 - 09:28:16 EST


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@xxxxxxxxxx> 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.

Attachment: signature.asc
Description: PGP signature