Re: broonie-sound/for-next bisection: baseline.bootrr.asoc-simple-card-probed on kontron-sl28-var3-ads2

From: Michael Walle
Date: Tue Apr 27 2021 - 11:30:02 EST


Am 2021-04-27 16:16, schrieb Michael Walle:
Am 2021-04-27 15:57, schrieb Mark Brown:
On Tue, Apr 27, 2021 at 03:43:42PM +0200, Michael Walle wrote:
Am 2021-04-27 14:51, schrieb Guillaume Tucker:
> On 27/04/2021 11:19, Mark Brown wrote:
> > On Tue, Apr 27, 2021 at 07:28:34AM +0900, Kuninori Morimoto wrote:

> > > > > If so, all sai1 - sai6 are using "fsl,vf610-sai",
> > > > > all saiX doesn't have .name. I think it should have different name.
> > > > > In your case, at least, sai5 / sai6 needs to have

Where does that (null) come from? I've briefly tried the following
patch and I'd assume I get a duplicate for "abc-wm8904-hifi", but I still
get the old (null)-wm8904-hifi.

diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
index 407a45e48eee..36280008b5c6 100644
--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -1081,6 +1081,7 @@ static int fsl_sai_probe(struct platform_device *pdev)
sai->cpu_dai_drv.symmetric_rate = 1;
sai->cpu_dai_drv.symmetric_channels = 1;
sai->cpu_dai_drv.symmetric_sample_bits = 1;
+ sai->cpu_dai_drv.name = "abc";

if (of_find_property(np, "fsl,sai-synchronous-rx", NULL) &&
of_find_property(np, "fsl,sai-asynchronous", NULL)) {

Ok here it is whats going on:
We have a simple-audio-card. We use
freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts. The codec name is
parsed correctly and set to either f140000.audio-controller or
f150000.audio-controller. Thus have different names. _But_ later
asoc_simple_canonicalize_cpu() will reset the dai_name pointer to
NULL in simple_parse_node() if "single" is 1 and then we end up
having two links with the same name.

Which begs the two questions:
(1) What is "single" actually and when should it be 1?
(2) If single is 1, then the sysfs file will be named "(null)-codec-name".
Do we want that?

I guess there is a reason for it to be set to NULL, see [1].

-michael

[1] https://elixir.bootlin.com/linux/v5.12/source/sound/soc/generic/simple-card-utils.c#L420