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