From: Shengjiu Wang <shengjiu.w...@nxp.com>

[ 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.w...@nxp.com>
Link: https://patch.msgid.link/20250226100508.2352568-5-shengjiu.w...@nxp.com
Signed-off-by: Mark Brown <broo...@kernel.org>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 sound/soc/fsl/fsl_audmix.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/sound/soc/fsl/fsl_audmix.c b/sound/soc/fsl/fsl_audmix.c
index 3cd9a66b70a15..7981d598ba139 100644
--- a/sound/soc/fsl/fsl_audmix.c
+++ b/sound/soc/fsl/fsl_audmix.c
@@ -488,11 +488,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;
-- 
2.39.5


Reply via email to