From nobody Sun Sep 22 13:25:24 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AD71C433F5 for ; Thu, 11 Nov 2021 16:11:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2BA7361252 for ; Thu, 11 Nov 2021 16:11:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234046AbhKKQOH (ORCPT ); Thu, 11 Nov 2021 11:14:07 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:46704 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233128AbhKKQOD (ORCPT ); Thu, 11 Nov 2021 11:14:03 -0500 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: kholk11) with ESMTPSA id B98A31F45F06 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=collabora.com; s=mail; t=1636647073; bh=CX9YgOE2Dnl9sKFDhi/Vy7+Gru9qmfIxKp+CcNPPD7Q=; h=From:To:Cc:Subject:Date:From; b=FjXHacYdhUiv7pCF1M1W4pYSynoz4Psg8PiUe06ETK6zxbWP3QXSJZoSbOQ9Asgvc YcIQps0YO+BNiIyw9fzQXVQVKxNlt2mIgbfglgk062leoi+Zh4VaRD2Il83WyySaVr gxaf0n1XioYQVMycUpa4im8Pux9mnGx2AAFeN9VsqBEs7wOx4+qXkaYUHrQ3uUNZsq IMKmAGOuN68o8zTY72Ics+AZiPAmv+N2Owr6Rxxuvgr89fUXCMYah3sEbK0AsrkiYD 3hSA7EQn+f57d2b1odZBgYEKAZ0WQTf1zQ3koKhQf9ar58FPJyDyUa36remrWGvZAQ 7HXWBLVsygu0A== From: AngeloGioacchino Del Regno To: lgirdwood@gmail.com Cc: dafna.hirschfeld@collabora.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, matthias.bgg@gmail.com, kuninori.morimoto.gx@renesas.com, pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com, AngeloGioacchino Del Regno Subject: [PATCH] ASoC: mediatek: mt8173: Fix debugfs registration for components Date: Thu, 11 Nov 2021 17:11:08 +0100 Message-Id: <20211111161108.502344-1-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.33.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When registering the mt8173-afe-pcm driver, we are also adding two components: one is for the PCM DAIs and one is for the HDMI DAIs, but when debugfs is enabled, we're getting the following issue: [ 17.279176] debugfs: Directory '11220000.audio-controller' with parent '= mtk-rt5650' already present! [ 17.288345] debugfs: Directory '11220000.audio-controller' with parent '= mtk-rt5650' already present! To overcome to that without any potentially big rewrite of this driver, similarly to what was done in mt8195-afe-pcm, add a debugfs_prefix to the components before actually adding them. Signed-off-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 51 ++++++++++++++++++---- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c b/sound/soc/mediate= k/mt8173/mt8173-afe-pcm.c index 6350390414d4..31494930433f 100644 --- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c +++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c @@ -1054,6 +1054,7 @@ static int mt8173_afe_pcm_dev_probe(struct platform_d= evice *pdev) int irq_id; struct mtk_base_afe *afe; struct mt8173_afe_private *afe_priv; + struct snd_soc_component *comp_pcm, *comp_hdmi; =20 ret =3D dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(33)); if (ret) @@ -1142,23 +1143,55 @@ static int mt8173_afe_pcm_dev_probe(struct platform= _device *pdev) if (ret) goto err_pm_disable; =20 - ret =3D devm_snd_soc_register_component(&pdev->dev, - &mt8173_afe_pcm_dai_component, - mt8173_afe_pcm_dais, - ARRAY_SIZE(mt8173_afe_pcm_dais)); + comp_pcm =3D devm_kzalloc(&pdev->dev, sizeof(*comp_pcm), GFP_KERNEL); + if (!comp_pcm) { + ret =3D -ENOMEM; + goto err_pm_disable; + } + + ret =3D snd_soc_component_initialize(comp_pcm, + &mt8173_afe_pcm_dai_component, + &pdev->dev); if (ret) goto err_pm_disable; =20 - ret =3D devm_snd_soc_register_component(&pdev->dev, - &mt8173_afe_hdmi_dai_component, - mt8173_afe_hdmi_dais, - ARRAY_SIZE(mt8173_afe_hdmi_dais)); +#ifdef CONFIG_DEBUG_FS + comp_pcm->debugfs_prefix =3D "pcm"; +#endif + + ret =3D snd_soc_add_component(comp_pcm, + mt8173_afe_pcm_dais, + ARRAY_SIZE(mt8173_afe_pcm_dais)); + if (ret) + goto err_pm_disable; + + comp_hdmi =3D devm_kzalloc(&pdev->dev, sizeof(*comp_hdmi), GFP_KERNEL); + if (!comp_hdmi) { + ret =3D -ENOMEM; + goto err_pm_disable; + } + + ret =3D snd_soc_component_initialize(comp_hdmi, + &mt8173_afe_hdmi_dai_component, + &pdev->dev); if (ret) goto err_pm_disable; =20 +#ifdef CONFIG_DEBUG_FS + comp_hdmi->debugfs_prefix =3D "hdmi"; +#endif + + ret =3D snd_soc_add_component(comp_hdmi, + mt8173_afe_hdmi_dais, + ARRAY_SIZE(mt8173_afe_hdmi_dais)); + if (ret) + goto err_cleanup_components; + dev_info(&pdev->dev, "MT8173 AFE driver initialized.\n"); return 0; =20 +err_cleanup_components: + snd_soc_unregister_component(&pdev->dev); err_pm_disable: pm_runtime_disable(&pdev->dev); return ret; @@ -1166,6 +1199,8 @@ static int mt8173_afe_pcm_dev_probe(struct platform_d= evice *pdev) =20 static int mt8173_afe_pcm_dev_remove(struct platform_device *pdev) { + snd_soc_unregister_component(&pdev->dev); + pm_runtime_disable(&pdev->dev); if (!pm_runtime_status_suspended(&pdev->dev)) mt8173_afe_runtime_suspend(&pdev->dev); --=20 2.33.1