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

From: Daniel Baluta
Date: Wed Mar 17 2021 - 04:49:40 EST


On Fri, Mar 12, 2021 at 4:24 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> 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.

I will enhance the commit message and send v2. Hope to catch all the
inner details.