Messages in this thread | | | Date | Tue, 27 Apr 2021 17:29:35 +0200 | From | Michael Walle <> | Subject | Re: broonie-sound/for-next bisection: baseline.bootrr.asoc-simple-card-probed on kontron-sl28-var3-ads2 |
| |
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
| |