From 799fe35bfcb492b7118d908916c9102c430696b9 Mon Sep 17 00:00:00 2001 From: Jason Zhu Date: Fri, 8 Jul 2022 16:25:28 +0800 Subject: [PATCH] ASoC: rockchip: add 'rockchip,no-dmaengine' for i2s/tdm/pdm This patch add support for property 'rockchip,no-dmaengine'. it is a boolean property. if present, driver will do not register pcm dmaengine, only just register dai. if the dai is part of multi-dais, the property should be present. Please refer to rockchip,multidais.txt about multi-dais usage. Change-Id: I9aa2ddb15f5a27202f90bf32804f214435cc0b73 Signed-off-by: Sugar Zhang Signed-off-by: Jason Zhu --- sound/soc/rockchip/rockchip_i2s.c | 3 +++ sound/soc/rockchip/rockchip_pdm.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c index 68acc85ee317..5a85d5b528b0 100644 --- a/sound/soc/rockchip/rockchip_i2s.c +++ b/sound/soc/rockchip/rockchip_i2s.c @@ -781,6 +781,9 @@ static int rockchip_i2s_probe(struct platform_device *pdev) goto err_suspend; } + if (of_property_read_bool(node, "rockchip,no-dmaengine")) + return 0; + ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); if (ret) { dev_err(&pdev->dev, "Could not register PCM\n"); diff --git a/sound/soc/rockchip/rockchip_pdm.c b/sound/soc/rockchip/rockchip_pdm.c index b30145033a77..4188083ab3cb 100644 --- a/sound/soc/rockchip/rockchip_pdm.c +++ b/sound/soc/rockchip/rockchip_pdm.c @@ -657,6 +657,9 @@ static int rockchip_pdm_probe(struct platform_device *pdev) if (ret != 0 && ret != -ENOENT) goto err_suspend; + if (of_property_read_bool(node, "rockchip,no-dmaengine")) + return 0; + ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); if (ret) { dev_err(&pdev->dev, "could not register pcm: %d\n", ret);