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")
- 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;
}