From c06d283fd243cc376675118dd3d7b66a354fed13 Mon Sep 17 00:00:00 2001 From: Sugar Zhang Date: Fri, 19 Jul 2024 16:52:02 +0800 Subject: [PATCH] ASoC: rockchip: multi-dais: Register PCM before DAI component API snd_soc_register_component will try to rebind card per each component register. and the ASoC allow no-pcm card instance. devm_snd_soc_register_component snd_soc_try_rebind_card snd_soc_bind_card snd_soc_add_pcm_runtime devm_snd_dmaengine_pcm_register So, we should register PCM before DAI component. Signed-off-by: Sugar Zhang Change-Id: I275e919495280568b6b732097532f466a0cc3a2a --- sound/soc/rockchip/rockchip_multi_dais.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/rockchip/rockchip_multi_dais.c b/sound/soc/rockchip/rockchip_multi_dais.c index b5d3f8b0b3cc..ad1f3d0ebdfe 100644 --- a/sound/soc/rockchip/rockchip_multi_dais.c +++ b/sound/soc/rockchip/rockchip_multi_dais.c @@ -621,6 +621,12 @@ static int rockchip_mdais_probe(struct platform_device *pdev) goto err_pm_disable; } + ret = snd_dmaengine_mpcm_register(mdais); + if (ret) { + dev_err(&pdev->dev, "Could not register PCM\n"); + goto err_suspend; + } + ret = devm_snd_soc_register_component(&pdev->dev, &rockchip_mdais_component, soc_dai, 1); @@ -630,12 +636,6 @@ static int rockchip_mdais_probe(struct platform_device *pdev) goto err_suspend; } - ret = snd_dmaengine_mpcm_register(mdais); - if (ret) { - dev_err(&pdev->dev, "Could not register PCM\n"); - return ret; - } - return 0; err_suspend: