[PATCH] ASoC: meson: aiu: fix duplicate debugfs directory error

Jerome Brunet jbrunet at baylibre.com
Tue Mar 8 15:42:04 PST 2022


On Tue 08 Mar 2022 at 20:00, Heiner Kallweit <hkallweit1 at 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.3235792-6-jbrunet@baylibre.com/

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@baylibre.com/

Unfortunately I did not had the time to continue working on it since them

>
> Signed-off-by: Heiner Kallweit <hkallweit1 at 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;
>  }




More information about the linux-arm-kernel mailing list