On 09.03.2022 00:42, Jerome Brunet wrote: > > 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") >> 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; >> } >