From 1f1211c186b830fd5a4494623cffd6cc05f65996 Mon Sep 17 00:00:00 2001 From: Sugar Zhang Date: Fri, 19 Jul 2024 16:50:10 +0800 Subject: [PATCH] ASoC: rockchip: spdifrx: 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: I8de05cf709187afd406775998f58ed5ebdb39d38 --- sound/soc/rockchip/rockchip_spdifrx.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/rockchip/rockchip_spdifrx.c b/sound/soc/rockchip/rockchip_spdifrx.c index 9856f4a2bc7b..baa9df6dff7a 100644 --- a/sound/soc/rockchip/rockchip_spdifrx.c +++ b/sound/soc/rockchip/rockchip_spdifrx.c @@ -328,6 +328,12 @@ static int rk_spdifrx_probe(struct platform_device *pdev) goto err_pm_runtime; } + ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); + if (ret) { + dev_err(&pdev->dev, "Could not register PCM\n"); + goto err_pm_suspend; + } + ret = devm_snd_soc_register_component(&pdev->dev, &rk_spdifrx_component, &rk_spdifrx_dai, 1); @@ -336,12 +342,6 @@ static int rk_spdifrx_probe(struct platform_device *pdev) goto err_pm_suspend; } - ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); - if (ret) { - dev_err(&pdev->dev, "Could not register PCM\n"); - goto err_pm_suspend; - } - return 0; err_pm_suspend: