]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: fsl_audmix: register card device depends on 'dais' property
authorShengjiu Wang <shengjiu.wang@nxp.com>
Wed, 26 Feb 2025 10:05:08 +0000 (18:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 08:45:13 +0000 (10:45 +0200)
[ Upstream commit 294a60e5e9830045c161181286d44ce669f88833 ]

In order to make the audmix device linked by audio graph card, make
'dais' property to be optional.

If 'dais' property exists, then register the imx-audmix card driver.
otherwise, it should be linked by audio graph card.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20250226100508.2352568-5-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/fsl/fsl_audmix.c

index 0ab2c19621175e8c951393fb44b8594fd52eb0ac..d8e44470f501e7da8da0e0f7422c87e750600d09 100644 (file)
@@ -492,11 +492,17 @@ static int fsl_audmix_probe(struct platform_device *pdev)
                goto err_disable_pm;
        }
 
-       priv->pdev = platform_device_register_data(dev, "imx-audmix", 0, NULL, 0);
-       if (IS_ERR(priv->pdev)) {
-               ret = PTR_ERR(priv->pdev);
-               dev_err(dev, "failed to register platform: %d\n", ret);
-               goto err_disable_pm;
+       /*
+        * If dais property exist, then register the imx-audmix card driver.
+        * otherwise, it should be linked by audio graph card.
+        */
+       if (of_find_property(pdev->dev.of_node, "dais", NULL)) {
+               priv->pdev = platform_device_register_data(dev, "imx-audmix", 0, NULL, 0);
+               if (IS_ERR(priv->pdev)) {
+                       ret = PTR_ERR(priv->pdev);
+                       dev_err(dev, "failed to register platform: %d\n", ret);
+                       goto err_disable_pm;
+               }
        }
 
        return 0;