]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: rockchip: spdif: Swap PCM and DAI component registration order
authorSugar Zhang <sugar.zhang@rock-chips.com>
Tue, 3 Feb 2026 16:46:28 +0000 (17:46 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 5 Feb 2026 18:46:45 +0000 (18:46 +0000)
PCM should be registered before the DAI component, as the second one
triggers snd_soc_try_rebind_card.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://patch.msgid.link/20260203-rockchip-spdif-cleanup-and-bsp-sync-v2-6-4412016cf577@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/rockchip/rockchip_spdif.c

index 55d64fd4c93bc225581d1a96b07b678aee0027bf..c1221ff00ed70296d0899be075b4b4b131f730b3 100644 (file)
@@ -325,16 +325,16 @@ static int rk_spdif_probe(struct platform_device *pdev)
                        return ret;
        }
 
+       ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0);
+       if (ret)
+               return dev_err_probe(&pdev->dev, ret, "Could not register PCM\n");
+
        ret = devm_snd_soc_register_component(&pdev->dev,
                                              &rk_spdif_component,
                                              &rk_spdif_dai, 1);
        if (ret)
                return dev_err_probe(&pdev->dev, ret, "Could not register DAI\n");
 
-       ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0);
-       if (ret)
-               return dev_err_probe(&pdev->dev, ret, "Could not register PCM\n");
-
        return 0;
 }