* [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan()
@ 2026-09-18 11:34 Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 1/7] ASoC: stm32: spdifrx: Drop mention of the deprecated and unused call Andy Shevchenko
` (6 more replies)
0 siblings, 7 replies; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue
Convert the last users (mostly in ASoC) to use dma_request_chan() and
drop deprecated dma_request_slave_channel() completely.
I think the best is to allow Mark to take the whole lot and provide an
immutable tag or branch to others (DMAengine and GPIB).
Changelog v2:
- Add a comment that errors are now propagated to the caller (Frank)
- Make sure the error pointer is not dereferenced (Sashiko, Mark)
- Collected tags
v1: <20260915100931.3593242-1-andriy.shevchenko@linux.intel.com>
Andy Shevchenko (7):
ASoC: stm32: spdifrx: Drop mention of the deprecated and unused call
ASoC: sprd: Replace dma_request_slave_channel() by dma_request_chan()
ASoC: soc-generic-dmaengine-pcm: Replace dma_request_slave_channel()
by dma_request_chan()
ASoC: pxa: Replace dma_request_slave_channel() by dma_request_chan()
ASoC: fsl_asrc: Replace dma_request_slave_channel() by
dma_request_chan()
gpib: fmh_gpib: Replace dma_request_slave_channel() by
dma_request_chan()
dmaengine: Remove deprecated dma_request_slave_channel()
drivers/gpib/fmh_gpib/fmh_gpib.c | 10 +++++++---
include/linux/dmaengine.h | 9 ---------
sound/soc/fsl/fsl_asrc.c | 2 +-
sound/soc/fsl/fsl_asrc_dma.c | 19 +++++++++++--------
sound/soc/fsl/fsl_asrc_m2m.c | 15 +++++++++------
sound/soc/fsl/fsl_easrc.c | 2 +-
sound/soc/pxa/pxa2xx-pcm-lib.c | 9 ++++++---
sound/soc/soc-generic-dmaengine-pcm.c | 8 +++++---
sound/soc/sprd/sprd-pcm-compress.c | 9 +++++----
sound/soc/sprd/sprd-pcm-dma.c | 9 +++++----
sound/soc/stm/stm32_spdifrx.c | 2 +-
11 files changed, 51 insertions(+), 43 deletions(-)
--
2.50.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/7] ASoC: stm32: spdifrx: Drop mention of the deprecated and unused call
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
@ 2026-09-18 11:34 ` Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 2/7] ASoC: sprd: Replace dma_request_slave_channel() by dma_request_chan() Andy Shevchenko
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue
The error message was not updated while driver moved from the
deprecated dma_request_slave_channel() to the dma_request_chan().
Update the message by replacing it with the correct function.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
sound/soc/stm/stm32_spdifrx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/stm/stm32_spdifrx.c b/sound/soc/stm/stm32_spdifrx.c
index e0fef47a227e..0ece54740773 100644
--- a/sound/soc/stm/stm32_spdifrx.c
+++ b/sound/soc/stm/stm32_spdifrx.c
@@ -400,7 +400,7 @@ static int stm32_spdifrx_dma_ctrl_register(struct device *dev,
spdifrx->ctrl_chan = dma_request_chan(dev, "rx-ctrl");
if (IS_ERR(spdifrx->ctrl_chan))
return dev_err_probe(dev, PTR_ERR(spdifrx->ctrl_chan),
- "dma_request_slave_channel error\n");
+ "dma_request_chan error\n");
spdifrx->dmab = devm_kzalloc(dev, sizeof(struct snd_dma_buffer),
GFP_KERNEL);
--
2.50.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 2/7] ASoC: sprd: Replace dma_request_slave_channel() by dma_request_chan()
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 1/7] ASoC: stm32: spdifrx: Drop mention of the deprecated and unused call Andy Shevchenko
@ 2026-09-18 11:34 ` Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 3/7] ASoC: soc-generic-dmaengine-pcm: " Andy Shevchenko
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue
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@linux.alibaba.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 3/7] ASoC: soc-generic-dmaengine-pcm: Replace dma_request_slave_channel() by dma_request_chan()
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 1/7] ASoC: stm32: spdifrx: Drop mention of the deprecated and unused call Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 2/7] ASoC: sprd: Replace dma_request_slave_channel() by dma_request_chan() Andy Shevchenko
@ 2026-09-18 11:34 ` Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 4/7] ASoC: pxa: " Andy Shevchenko
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue, Cezary Rojewski
Replace dma_request_slave_channel() by dma_request_chan() as suggested
since the former is deprecated.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
sound/soc/soc-generic-dmaengine-pcm.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c
index 65b7ec52a054..6d1dbee8f6c1 100644
--- a/sound/soc/soc-generic-dmaengine-pcm.c
+++ b/sound/soc/soc-generic-dmaengine-pcm.c
@@ -242,9 +242,11 @@ static int dmaengine_pcm_new(struct snd_soc_component *component,
if (!substream)
continue;
- if (!pcm->chan[i] && config->chan_names[i])
- pcm->chan[i] = dma_request_slave_channel(dev,
- config->chan_names[i]);
+ if (!pcm->chan[i] && config->chan_names[i]) {
+ pcm->chan[i] = dma_request_chan(dev, config->chan_names[i]);
+ if (IS_ERR(pcm->chan[i]))
+ pcm->chan[i] = NULL;
+ }
if (!pcm->chan[i] && (pcm->flags & SND_DMAENGINE_PCM_FLAG_COMPAT)) {
pcm->chan[i] = dmaengine_pcm_compat_request_channel(
--
2.50.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 4/7] ASoC: pxa: Replace dma_request_slave_channel() by dma_request_chan()
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
` (2 preceding siblings ...)
2026-09-18 11:34 ` [PATCH v2 3/7] ASoC: soc-generic-dmaengine-pcm: " Andy Shevchenko
@ 2026-09-18 11:34 ` Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 5/7] ASoC: fsl_asrc: " Andy Shevchenko
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue
Replace dma_request_slave_channel() by dma_request_chan() as suggested
since the former is deprecated.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
sound/soc/pxa/pxa2xx-pcm-lib.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/sound/soc/pxa/pxa2xx-pcm-lib.c b/sound/soc/pxa/pxa2xx-pcm-lib.c
index 88a9d3226302..4b5b07f0c444 100644
--- a/sound/soc/pxa/pxa2xx-pcm-lib.c
+++ b/sound/soc/pxa/pxa2xx-pcm-lib.c
@@ -79,6 +79,7 @@ static int pxa2xx_pcm_open(struct snd_pcm_substream *substream)
struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
struct snd_pcm_runtime *runtime = substream->runtime;
struct snd_dmaengine_dai_dma_data *dma_params;
+ struct dma_chan *chan;
int ret;
runtime->hw = pxa2xx_pcm_hardware;
@@ -107,9 +108,11 @@ static int pxa2xx_pcm_open(struct snd_pcm_substream *substream)
if (ret < 0)
return ret;
- return snd_dmaengine_pcm_open(
- substream, dma_request_slave_channel(snd_soc_rtd_to_cpu(rtd, 0)->dev,
- dma_params->chan_name));
+ chan = dma_request_chan(snd_soc_rtd_to_cpu(rtd, 0)->dev, dma_params->chan_name);
+ if (IS_ERR(chan))
+ return -ENXIO;
+
+ return snd_dmaengine_pcm_open(substream, chan);
}
static int pxa2xx_pcm_close(struct snd_pcm_substream *substream)
--
2.50.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 5/7] ASoC: fsl_asrc: Replace dma_request_slave_channel() by dma_request_chan()
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
` (3 preceding siblings ...)
2026-09-18 11:34 ` [PATCH v2 4/7] ASoC: pxa: " Andy Shevchenko
@ 2026-09-18 11:34 ` Andy Shevchenko
2026-09-18 13:55 ` Frank Li
2026-09-18 11:34 ` [PATCH v2 6/7] gpib: fmh_gpib: " Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel() Andy Shevchenko
6 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue
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.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
sound/soc/fsl/fsl_asrc.c | 2 +-
sound/soc/fsl/fsl_asrc_dma.c | 19 +++++++++++--------
sound/soc/fsl/fsl_asrc_m2m.c | 15 +++++++++------
sound/soc/fsl/fsl_easrc.c | 2 +-
4 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c
index b24737add001..ae682bf450f6 100644
--- a/sound/soc/fsl/fsl_asrc.c
+++ b/sound/soc/fsl/fsl_asrc.c
@@ -638,7 +638,7 @@ static struct dma_chan *fsl_asrc_get_dma_channel(struct fsl_asrc_pair *pair,
sprintf(name, "%cx%c", dir == IN ? 'r' : 't', index + 'a');
- return dma_request_slave_channel(&asrc->pdev->dev, name);
+ return dma_request_chan(&asrc->pdev->dev, name);
}
static int fsl_asrc_dai_startup(struct snd_pcm_substream *substream,
diff --git a/sound/soc/fsl/fsl_asrc_dma.c b/sound/soc/fsl/fsl_asrc_dma.c
index 2f662bdf14d0..86489f70e262 100644
--- a/sound/soc/fsl/fsl_asrc_dma.c
+++ b/sound/soc/fsl/fsl_asrc_dma.c
@@ -136,8 +136,8 @@ static int fsl_asrc_dma_hw_params(struct snd_soc_component *component,
struct snd_dmaengine_dai_dma_data *dma_params_be = NULL;
struct snd_pcm_runtime *runtime = substream->runtime;
struct fsl_asrc_pair *pair = runtime->private_data;
- struct dma_chan *tmp_chan = NULL, *be_chan = NULL;
struct snd_soc_component *component_be = NULL;
+ struct dma_chan *tmp_chan, *be_chan = NULL;
struct fsl_asrc *asrc = pair->asrc;
struct dma_slave_config config_fe = {}, config_be = {};
struct sdma_peripheral_config audio_config;
@@ -190,11 +190,12 @@ static int fsl_asrc_dma_hw_params(struct snd_soc_component *component,
dma_params_fe->addr = asrc->paddr + asrc->get_fifo_addr(!dir, index);
dma_params_fe->maxburst = dma_params_be->maxburst;
- pair->dma_chan[!dir] = asrc->get_dma_channel(pair, !dir);
- if (!pair->dma_chan[!dir]) {
+ tmp_chan = asrc->get_dma_channel(pair, !dir);
+ if (IS_ERR(tmp_chan)) {
dev_err(dev, "failed to request DMA channel\n");
- return -EINVAL;
+ return PTR_ERR(tmp_chan);
}
+ pair->dma_chan[!dir] = tmp_chan;
ret = snd_dmaengine_pcm_prepare_slave_config(substream, params, &config_fe);
if (ret) {
@@ -223,6 +224,8 @@ static int fsl_asrc_dma_hw_params(struct snd_soc_component *component,
be_chan = pcm->chan[substream->stream];
tmp_chan = be_chan;
+ } else {
+ tmp_chan = NULL;
}
if (!tmp_chan) {
tmp_chan = dma_request_chan(dev_be, tx ? "tx" : "rx");
@@ -404,9 +407,9 @@ static int fsl_asrc_dma_startup(struct snd_soc_component *component,
/* Request a dummy dma channel, which will be released later. */
tmp_chan = asrc->get_dma_channel(pair, dir);
- if (!tmp_chan) {
+ ret = PTR_ERR_OR_ZERO(tmp_chan);
+ if (ret) {
dev_err(dev, "failed to get dma channel\n");
- ret = -EINVAL;
goto dma_chan_err;
}
@@ -497,9 +500,9 @@ static int fsl_asrc_dma_pcm_new(struct snd_soc_component *component,
/* Request a dma channel, which will be released later. */
chan = asrc->get_dma_channel(pair, IN);
- if (!chan) {
+ ret = PTR_ERR_OR_ZERO(chan);
+ if (ret) {
dev_err(dev, "failed to get dma channel\n");
- ret = -EINVAL;
goto dma_chan_err;
}
diff --git a/sound/soc/fsl/fsl_asrc_m2m.c b/sound/soc/fsl/fsl_asrc_m2m.c
index 4bc40f328f58..e7b91196d35b 100644
--- a/sound/soc/fsl/fsl_asrc_m2m.c
+++ b/sound/soc/fsl/fsl_asrc_m2m.c
@@ -466,6 +466,7 @@ static int fsl_asrc_m2m_comp_task_create(struct snd_compr_stream *stream,
struct snd_compr_runtime *runtime = stream->runtime;
struct fsl_asrc_pair *pair = runtime->private_data;
struct device *dev = &asrc->pdev->dev;
+ struct dma_chan *tmp_chan;
int ret;
exp_info_in.ops = &fsl_asrc_m2m_dma_buf_ops;
@@ -502,19 +503,21 @@ static int fsl_asrc_m2m_comp_task_create(struct snd_compr_stream *stream,
}
/* Request dma channels */
- pair->dma_chan[IN] = asrc->get_dma_channel(pair, IN);
- if (!pair->dma_chan[IN]) {
+ tmp_chan = asrc->get_dma_channel(pair, IN);
+ ret = PTR_ERR_OR_ZERO(tmp_chan);
+ if (ret) {
dev_err(dev, "[ctx%d] failed to get input DMA channel\n", pair->index);
- ret = -EBUSY;
goto err_dma_channel_in;
}
+ pair->dma_chan[IN] = tmp_chan;
- pair->dma_chan[OUT] = asrc->get_dma_channel(pair, OUT);
- if (!pair->dma_chan[OUT]) {
+ tmp_chan = asrc->get_dma_channel(pair, OUT);
+ ret = PTR_ERR_OR_ZERO(tmp_chan);
+ if (ret) {
dev_err(dev, "[ctx%d] failed to get output DMA channel\n", pair->index);
- ret = -EBUSY;
goto err_dma_channel_out;
}
+ pair->dma_chan[OUT] = tmp_chan;
return 0;
diff --git a/sound/soc/fsl/fsl_easrc.c b/sound/soc/fsl/fsl_easrc.c
index aced16d1228a..d30cc3e90215 100644
--- a/sound/soc/fsl/fsl_easrc.c
+++ b/sound/soc/fsl/fsl_easrc.c
@@ -1433,7 +1433,7 @@ static struct dma_chan *fsl_easrc_get_dma_channel(struct fsl_asrc_pair *ctx,
/* Example of dma name: ctx0_rx */
sprintf(name, "ctx%c_%cx", index + '0', dir == IN ? 'r' : 't');
- return dma_request_slave_channel(&easrc->pdev->dev, name);
+ return dma_request_chan(&easrc->pdev->dev, name);
};
static const unsigned int easrc_rates[] = {
--
2.50.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 6/7] gpib: fmh_gpib: Replace dma_request_slave_channel() by dma_request_chan()
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
` (4 preceding siblings ...)
2026-09-18 11:34 ` [PATCH v2 5/7] ASoC: fsl_asrc: " Andy Shevchenko
@ 2026-09-18 11:34 ` Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel() Andy Shevchenko
6 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue
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: Dave Penkler <dpenkler@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/gpib/fmh_gpib/fmh_gpib.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/gpib/fmh_gpib/fmh_gpib.c b/drivers/gpib/fmh_gpib/fmh_gpib.c
index 5e10e9353fed..4ab9b0a317fd 100644
--- a/drivers/gpib/fmh_gpib/fmh_gpib.c
+++ b/drivers/gpib/fmh_gpib/fmh_gpib.c
@@ -1458,11 +1458,15 @@ static int fmh_gpib_attach_impl(struct gpib_board *board, const struct gpib_boar
e_priv->irq = irq;
if (acquire_dma) {
- e_priv->dma_channel = dma_request_slave_channel(board->dev, "rxtx");
- if (!e_priv->dma_channel) {
+ struct dma_chan *tmp_chan;
+
+ tmp_chan = dma_request_chan(board->dev, "rxtx");
+ retval = PTR_ERR_OR_ZERO(tmp_chan);
+ if (retval) {
dev_err(board->dev, "failed to acquire dma channel \"rxtx\".\n");
- return -EIO;
+ return retval;
}
+ e_priv->dma_channel = tmp_chan;
}
/*
* in the future we might want to know the half-fifo size
--
2.50.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel()
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
` (5 preceding siblings ...)
2026-09-18 11:34 ` [PATCH v2 6/7] gpib: fmh_gpib: " Andy Shevchenko
@ 2026-09-18 11:34 ` Andy Shevchenko
2026-09-18 17:58 ` Vinod Koul
6 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2026-09-18 11:34 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
Andy Shevchenko, linux-kernel, dmaengine, linux-sound,
linuxppc-dev, linux-arm-kernel, linux-stm32
Cc: Dave Penkler, Greg Kroah-Hartman, Frank Li, Shengjiu Wang,
Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Lars-Peter Clausen, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue
No more users.
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
include/linux/dmaengine.h | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index c3a49a33307c..1b57bc4a7e72 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -1768,15 +1768,6 @@ void dma_run_dependencies(struct dma_async_tx_descriptor *tx);
#define dma_request_channel(mask, x, y) \
__dma_request_channel(&(mask), x, y, NULL)
-/* Deprecated, please use dma_request_chan() directly */
-static inline struct dma_chan * __deprecated
-dma_request_slave_channel(struct device *dev, const char *name)
-{
- struct dma_chan *ch = dma_request_chan(dev, name);
-
- return IS_ERR(ch) ? NULL : ch;
-}
-
static inline struct dma_chan
*dma_request_slave_channel_compat(const dma_cap_mask_t mask,
dma_filter_fn fn, void *fn_param,
--
2.50.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 5/7] ASoC: fsl_asrc: Replace dma_request_slave_channel() by dma_request_chan()
2026-09-18 11:34 ` [PATCH v2 5/7] ASoC: fsl_asrc: " Andy Shevchenko
@ 2026-09-18 13:55 ` Frank Li
0 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2026-09-18 13:55 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Frank Li, Vinod Koul, Mark Brown, Shengjiu Wang, bui duc phuc,
linux-kernel, dmaengine, linux-sound, linuxppc-dev,
linux-arm-kernel, linux-stm32, Dave Penkler, Greg Kroah-Hartman,
Frank Li, Shengjiu Wang, Xiubo Li, Fabio Estevam, Nicolin Chen,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Daniel Mack,
Haojian Zhuang, Robert Jarzmik, Lars-Peter Clausen, Orson Zhai,
Baolin Wang, Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen,
Maxime Coquelin, Alexandre Torgue
On Fri, Sep 18, 2026 at 01:34:09PM +0200, Andy Shevchenko wrote:
> 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.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
Reviewed-by: Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel()
2026-09-18 11:34 ` [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel() Andy Shevchenko
@ 2026-09-18 17:58 ` Vinod Koul
0 siblings, 0 replies; 10+ messages in thread
From: Vinod Koul @ 2026-09-18 17:58 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Frank Li, Mark Brown, Shengjiu Wang, bui duc phuc, linux-kernel,
dmaengine, linux-sound, linuxppc-dev, linux-arm-kernel,
linux-stm32, Dave Penkler, Greg Kroah-Hartman, Frank Li,
Shengjiu Wang, Xiubo Li, Fabio Estevam, Nicolin Chen,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Daniel Mack,
Haojian Zhuang, Robert Jarzmik, Lars-Peter Clausen, Orson Zhai,
Baolin Wang, Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen,
Maxime Coquelin, Alexandre Torgue
On 18-09-26, 13:34, Andy Shevchenko wrote:
> No more users.
>
> Reviewed-by: Frank Li <Frank.Li@nxp.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
I thought I had acked earlier one. Here is it again
Acked-by: Vinod Koul <vkoul@kernel.org>
--
~Vinod
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-09-18 17:58 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 1/7] ASoC: stm32: spdifrx: Drop mention of the deprecated and unused call Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 2/7] ASoC: sprd: Replace dma_request_slave_channel() by dma_request_chan() Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 3/7] ASoC: soc-generic-dmaengine-pcm: " Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 4/7] ASoC: pxa: " Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 5/7] ASoC: fsl_asrc: " Andy Shevchenko
2026-09-18 13:55 ` Frank Li
2026-09-18 11:34 ` [PATCH v2 6/7] gpib: fmh_gpib: " Andy Shevchenko
2026-09-18 11:34 ` [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel() Andy Shevchenko
2026-09-18 17:58 ` Vinod Koul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®