[PATCH v2 2/7] ASoC: sprd: Replace dma_request_slave_channel() by dma_request_chan()

Andy Shevchenko andriy.shevchenko at linux.intel.com
Fri Sep 18 04:34:06 PDT 2026


Replace dma_request_slave_channel() by dma_request_chan() as suggested
since the former is deprecated. With this, propagate all possible errors
to the caller.

Reviewed-by: Baolin Wang <baolin.wang at linux.alibaba.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
---
 sound/soc/sprd/sprd-pcm-compress.c | 9 +++++----
 sound/soc/sprd/sprd-pcm-dma.c      | 9 +++++----
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/sound/soc/sprd/sprd-pcm-compress.c b/sound/soc/sprd/sprd-pcm-compress.c
index e5249924b54d..f394121d417a 100644
--- a/sound/soc/sprd/sprd-pcm-compress.c
+++ b/sound/soc/sprd/sprd-pcm-compress.c
@@ -145,6 +145,7 @@ static int sprd_platform_compr_dma_config(struct snd_soc_component *component,
 	enum dma_slave_buswidth bus_width;
 	int period, period_cnt, sg_num = 2;
 	dma_addr_t src_addr, dst_addr;
+	struct dma_chan *chan;
 	unsigned long flags;
 	int ret, j;
 
@@ -153,12 +154,12 @@ static int sprd_platform_compr_dma_config(struct snd_soc_component *component,
 		return -EINVAL;
 	}
 
-	dma->chan = dma_request_slave_channel(dev,
-					      dma_params->chan_name[channel]);
-	if (!dma->chan) {
+	chan = dma_request_chan(dev, dma_params->chan_name[channel]);
+	if (IS_ERR(chan)) {
 		dev_err(dev, "failed to request dma channel\n");
-		return -ENODEV;
+		return PTR_ERR(chan);
 	}
+	dma->chan = chan;
 
 	sgt = sg = kzalloc_objs(*sg, sg_num);
 	if (!sg) {
diff --git a/sound/soc/sprd/sprd-pcm-dma.c b/sound/soc/sprd/sprd-pcm-dma.c
index 2d5ffbe17e81..2a89dc7616bf 100644
--- a/sound/soc/sprd/sprd-pcm-dma.c
+++ b/sound/soc/sprd/sprd-pcm-dma.c
@@ -170,15 +170,16 @@ static int sprd_pcm_request_dma_channel(struct snd_soc_component *component,
 
 	for (i = 0; i < channels; i++) {
 		struct sprd_pcm_dma_data *data = &dma_private->data[i];
+		struct dma_chan *chan;
 
-		data->chan = dma_request_slave_channel(dev,
-						       dma_params->chan_name[i]);
-		if (!data->chan) {
+		chan = dma_request_chan(dev, dma_params->chan_name[i]);
+		if (IS_ERR(chan)) {
 			dev_err(dev, "failed to request dma channel:%s\n",
 				dma_params->chan_name[i]);
 			sprd_pcm_release_dma_channel(substream);
-			return -ENODEV;
+			return PTR_ERR(chan);
 		}
+		data->chan = chan;
 	}
 
 	return 0;
-- 
2.50.1




More information about the linux-arm-kernel mailing list