On Tue 08 Mar 2022 at 20:00, Heiner Kallweit <hkallweit1@xxxxxxxxx> 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.3235792-6-jbrunet@xxxxxxxxxxxx/ 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-1-jbrunet@xxxxxxxxxxxx/ Unfortunately I did not had the time to continue working on it since them > > Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> > --- > 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; > }