* [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
` (7 more replies)
0 siblings, 8 replies; 12+ 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] 12+ 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
` (6 subsequent siblings)
7 siblings, 0 replies; 12+ 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] 12+ 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
` (5 subsequent siblings)
7 siblings, 0 replies; 12+ 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] 12+ 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
` (4 subsequent siblings)
7 siblings, 0 replies; 12+ 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] 12+ 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
` (3 subsequent siblings)
7 siblings, 0 replies; 12+ 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] 12+ 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
` (2 subsequent siblings)
7 siblings, 1 reply; 12+ 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] 12+ 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
2026-09-21 12:01 ` [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Mark Brown
7 siblings, 0 replies; 12+ 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] 12+ 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
2026-09-21 12:01 ` [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Mark Brown
7 siblings, 1 reply; 12+ 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] 12+ 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; 12+ 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] 12+ 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
2026-09-19 13:56 ` Andy Shevchenko
0 siblings, 1 reply; 12+ 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] 12+ messages in thread
* Re: [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel()
2026-09-18 17:58 ` Vinod Koul
@ 2026-09-19 13:56 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-19 13:56 UTC (permalink / raw)
To: Vinod Koul
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 Fri, Sep 18, 2026 at 11:28:02PM +0530, Vinod Koul wrote:
> 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
This is strange. I used `b4 am` to collect tags, most likely it was an old
version (before you sent that email). I will anyway issue a v3 and I double
check that all new tags are added.
> Acked-by: Vinod Koul <vkoul@kernel.org>
Thank you!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan()
2026-09-18 11:34 [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Andy Shevchenko
` (6 preceding siblings ...)
2026-09-18 11:34 ` [PATCH v2 7/7] dmaengine: Remove deprecated dma_request_slave_channel() Andy Shevchenko
@ 2026-09-21 12:01 ` Mark Brown
7 siblings, 0 replies; 12+ messages in thread
From: Mark Brown @ 2026-09-21 12:01 UTC (permalink / raw)
To: Frank Li, Vinod Koul, Shengjiu Wang, bui duc phuc, linux-kernel,
dmaengine, linux-sound, linuxppc-dev, linux-arm-kernel,
linux-stm32, Andy Shevchenko
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
On Fri, 18 Sep 2026 13:34:04 +0200, Andy Shevchenko wrote:
> ASoC et alia: Convert to use dma_request_chan()
>
> 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).
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.4
Thanks!
[1/7] ASoC: stm32: spdifrx: Drop mention of the deprecated and unused call
https://git.kernel.org/broonie/sound/c/a389c4dd55d5
[2/7] ASoC: sprd: Replace dma_request_slave_channel() by dma_request_chan()
https://git.kernel.org/broonie/sound/c/08d77e31df21
[3/7] ASoC: soc-generic-dmaengine-pcm: Replace dma_request_slave_channel() by dma_request_chan()
https://git.kernel.org/broonie/sound/c/77593bbdb8aa
[4/7] ASoC: pxa: Replace dma_request_slave_channel() by dma_request_chan()
https://git.kernel.org/broonie/sound/c/ca11bc272ab4
[5/7] ASoC: fsl_asrc: Replace dma_request_slave_channel() by dma_request_chan()
https://git.kernel.org/broonie/sound/c/b045248399d0
[6/7] gpib: fmh_gpib: Replace dma_request_slave_channel() by dma_request_chan()
https://git.kernel.org/broonie/sound/c/4f846b8b69fd
[7/7] dmaengine: Remove deprecated dma_request_slave_channel()
https://git.kernel.org/broonie/sound/c/ae710b66c715
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-09-21 14:55 UTC | newest]
Thread overview: 12+ 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
2026-09-19 13:56 ` Andy Shevchenko
2026-09-21 12:01 ` [PATCH v2 0/7] ASoC et alia: Convert to use dma_request_chan() Mark Brown
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®