On 09.03.2022 00:42, Jerome Brunet wrote:
On Tue 08 Mar 2022 at 20:00, Heiner Kallweit hkallweit1@gmail.com wrote:
On a S905W-based system I get the following error: debugfs: Directory 'c1105400.audio-controller' with parent 'P230-Q200' already present!
Turned out that multiple components having the same name triggers this error in soc_init_component_debugfs().
Because the component name is directly derived from the dev name
With the patch the error is gone and that's the debugfs entries.
/sys/kernel/debug/asoc/P230-Q200/aiu_acodec:c1105400.audio-controller /sys/kernel/debug/asoc/P230-Q200/aiu_hdmi:c1105400.audio-controller /sys/kernel/debug/asoc/P230-Q200/aiu_cpu:c1105400.audio-controller
Because debugfs is affected only, this may not be something for stable.
It is not entirely true that only debugfs is affected, though it is the only thing really complaining.
I had a similar tweak around debugfs entry when I first submitted the AIU. There was a discussion around that:
https://patchwork.kernel.org/project/linux-amlogic/patch/20200213155159.3235...
I proposed a solution which got merged but ended up breaking other cards because there was some assumptions around what the component name is: basically the dev_name since there was originally 1:1 mapping So it had to be reverted.
Full details here: https://patchwork.kernel.org/project/alsa-devel/patch/20200214134704.342501-...
Unfortunately I did not had the time to continue working on it since them
Signed-off-by: Heiner Kallweit hkallweit1@gmail.com
sound/soc/meson/aiu.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c index d299a70db..c1a2aea5f 100644 --- a/sound/soc/meson/aiu.c +++ b/sound/soc/meson/aiu.c @@ -68,6 +68,20 @@ int aiu_of_xlate_dai_name(struct snd_soc_component *component,
*dai_name = dai->driver->name;
While I don't really mind one way or the other about the prefix itself, aiu_of_xlate_dai_name() is not the place to tweak it.
This should be done before adding the component, not when parsing the DAI with DT.
If this is really a problem and Mark is Ok with, what you want to do is revert commit 024714223323 ("ASoC: meson: aiu: simplify component addition")
Thanks a lot for the links and for pointing me in the right direction. The revert you mentioned would need a little bit of trivial tweaking due to changes of the underlying code. However based on what I read so far in the linked discussions I have another idea to make the solution more generic. I'll submit the patches and then we can decide how to go on.
- switch (component_id) {
- case AIU_CPU:
component->debugfs_prefix = "aiu_cpu";
break;
- case AIU_HDMI:
component->debugfs_prefix = "aiu_hdmi";
break;
- case AIU_ACODEC:
component->debugfs_prefix = "aiu_acodec";
break;
- default:
break;
- }
- return 0;
}