mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
ASoC: mediatek: mt8173: Fix debugfs registration for components
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 <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20211111161108.502344-1-angelogioacchino.delregno@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
2cd9b0ef82
commit
8c32984bc7
@ -1054,6 +1054,7 @@ static int mt8173_afe_pcm_dev_probe(struct platform_device *pdev)
|
||||
int irq_id;
|
||||
struct mtk_base_afe *afe;
|
||||
struct mt8173_afe_private *afe_priv;
|
||||
struct snd_soc_component *comp_pcm, *comp_hdmi;
|
||||
|
||||
ret = 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;
|
||||
|
||||
ret = devm_snd_soc_register_component(&pdev->dev,
|
||||
&mt8173_afe_pcm_dai_component,
|
||||
mt8173_afe_pcm_dais,
|
||||
ARRAY_SIZE(mt8173_afe_pcm_dais));
|
||||
comp_pcm = devm_kzalloc(&pdev->dev, sizeof(*comp_pcm), GFP_KERNEL);
|
||||
if (!comp_pcm) {
|
||||
ret = -ENOMEM;
|
||||
goto err_pm_disable;
|
||||
}
|
||||
|
||||
ret = snd_soc_component_initialize(comp_pcm,
|
||||
&mt8173_afe_pcm_dai_component,
|
||||
&pdev->dev);
|
||||
if (ret)
|
||||
goto err_pm_disable;
|
||||
|
||||
ret = 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 = "pcm";
|
||||
#endif
|
||||
|
||||
ret = snd_soc_add_component(comp_pcm,
|
||||
mt8173_afe_pcm_dais,
|
||||
ARRAY_SIZE(mt8173_afe_pcm_dais));
|
||||
if (ret)
|
||||
goto err_pm_disable;
|
||||
|
||||
comp_hdmi = devm_kzalloc(&pdev->dev, sizeof(*comp_hdmi), GFP_KERNEL);
|
||||
if (!comp_hdmi) {
|
||||
ret = -ENOMEM;
|
||||
goto err_pm_disable;
|
||||
}
|
||||
|
||||
ret = snd_soc_component_initialize(comp_hdmi,
|
||||
&mt8173_afe_hdmi_dai_component,
|
||||
&pdev->dev);
|
||||
if (ret)
|
||||
goto err_pm_disable;
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
comp_hdmi->debugfs_prefix = "hdmi";
|
||||
#endif
|
||||
|
||||
ret = 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;
|
||||
|
||||
err_cleanup_components:
|
||||
snd_soc_unregister_component(&pdev->dev);
|
||||
err_pm_disable:
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
return ret;
|
||||
@ -1166,6 +1199,8 @@ err_pm_disable:
|
||||
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user