[PATCH v1 5/7] ASoC: fsl_asrc: Replace dma_request_slave_channel() by dma_request_chan()

Frank Li Frank.li at oss.nxp.com
Tue Sep 15 07:02:59 PDT 2026


On Tue, Sep 15, 2026 at 12:04:26PM +0200, Andy Shevchenko wrote:
> Replace dma_request_slave_channel() by dma_request_chan() as suggested
> since the former is deprecated.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> ---
>  sound/soc/fsl/fsl_asrc.c     |  2 +-
>  sound/soc/fsl/fsl_asrc_dma.c | 13 +++++++------
>  sound/soc/fsl/fsl_asrc_m2m.c |  8 ++++----
>  sound/soc/fsl/fsl_easrc.c    |  2 +-
>  4 files changed, 13 insertions(+), 12 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..5cd12781c604 100644
> --- a/sound/soc/fsl/fsl_asrc_dma.c
> +++ b/sound/soc/fsl/fsl_asrc_dma.c
> @@ -191,9 +191,10 @@ static int fsl_asrc_dma_hw_params(struct snd_soc_component *component,
>  	dma_params_fe->maxburst = dma_params_be->maxburst;
>
>  	pair->dma_chan[!dir] = asrc->get_dma_channel(pair, !dir);
> -	if (!pair->dma_chan[!dir]) {
> +	ret = PTR_ERR_OR_ZERO(pair->dma_chan[!dir]);
> +	if (ret) {
>  		dev_err(dev, "failed to request DMA channel\n");
> -		return -EINVAL;
> +		return ret;


It progagate error to caller, it should be okay. I think it'd better
mention at commit message

Frank

>  	}
>
>  	ret = snd_dmaengine_pcm_prepare_slave_config(substream, params, &config_fe);
> @@ -404,9 +405,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 +498,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..e440cc083ebb 100644
> --- a/sound/soc/fsl/fsl_asrc_m2m.c
> +++ b/sound/soc/fsl/fsl_asrc_m2m.c
> @@ -503,16 +503,16 @@ 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]) {
> +	ret = PTR_ERR_OR_ZERO(pair->dma_chan[IN]);
> +	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[OUT] = asrc->get_dma_channel(pair, OUT);
> -	if (!pair->dma_chan[OUT]) {
> +	ret = PTR_ERR_OR_ZERO(pair->dma_chan[OUT]);
> +	if (ret) {
>  		dev_err(dev, "[ctx%d] failed to get output DMA channel\n", pair->index);
> -		ret = -EBUSY;
>  		goto err_dma_channel_out;
>  	}
>
> 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
>



More information about the linux-arm-kernel mailing list