[PATCH v2 1/3] dmaengine: vchan: add vchan_chan_name() to get channel device name

Amelie Delaunay amelie.delaunay at foss.st.com
Fri Sep 4 01:35:47 PDT 2026


Hi Frank,

On 9/3/26 22:53, Frank.Li at oss.nxp.com wrote:
> From: Frank Li <Frank.Li at nxp.com>
> 
> Introduce vchan_chan_name() to obtain the DMA channel device name.
> 
> Use a dedicated helper instead of directly accessing dma_chan::dev
> so callers remain unaffected by an upcoming rename of the struct member.
> 
> Signed-off-by: Frank Li <Frank.Li at nxp.com>
> ---
>   drivers/dma/arm-dma350.c                     |  2 +-
>   drivers/dma/loongson/loongson2-apb-cmc-dma.c |  2 +-
>   drivers/dma/stm32/stm32-dma.c                |  2 +-
>   drivers/dma/stm32/stm32-dma3.c               |  4 ++--

Could you move the driver updates from this patch to the next one? I 
don’t understand why the drivers above are modified here, while others 
are deferred to "[PATCH v2 2/3] dmaengine: use dma_chan_name() helper to 
get per-channel device name".

Regards,
Amelie

>   drivers/dma/virt-dma.h                       | 11 +++++++++++
>   5 files changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/dma/arm-dma350.c b/drivers/dma/arm-dma350.c
> index 09403aca8bb06..52f5242ea3327 100644
> --- a/drivers/dma/arm-dma350.c
> +++ b/drivers/dma/arm-dma350.c
> @@ -512,7 +512,7 @@ static int d350_alloc_chan_resources(struct dma_chan *chan)
>   {
>   	struct d350_chan *dch = to_d350_chan(chan);
>   	int ret = request_irq(dch->irq, d350_irq, IRQF_SHARED,
> -			      dev_name(&dch->vc.chan.dev->device), dch);
> +			      vchan_chan_name(&dch->vc), dch);
>   	if (!ret)
>   		writel_relaxed(CH_INTREN_DONE | CH_INTREN_ERR, dch->base + CH_INTREN);
>   
> diff --git a/drivers/dma/loongson/loongson2-apb-cmc-dma.c b/drivers/dma/loongson/loongson2-apb-cmc-dma.c
> index 1c9a542edc859..2f1c8c4fd0654 100644
> --- a/drivers/dma/loongson/loongson2-apb-cmc-dma.c
> +++ b/drivers/dma/loongson/loongson2-apb-cmc-dma.c
> @@ -678,7 +678,7 @@ static int loongson2_cmc_dma_probe(struct platform_device *pdev)
>   			return lchan->irq;
>   
>   		ret = devm_request_irq(dev, lchan->irq, loongson2_cmc_dma_chan_irq, IRQF_SHARED,
> -				       dev_name(chan2dev(lchan)), lchan);
> +				       vchan_chan_name(&lchan->vchan), lchan);
>   		if (ret)
>   			return ret;
>   	}
> diff --git a/drivers/dma/stm32/stm32-dma.c b/drivers/dma/stm32/stm32-dma.c
> index d3ad78562a140..3e8151e2ad75a 100644
> --- a/drivers/dma/stm32/stm32-dma.c
> +++ b/drivers/dma/stm32/stm32-dma.c
> @@ -1668,7 +1668,7 @@ static int stm32_dma_probe(struct platform_device *pdev)
>   
>   		ret = devm_request_irq(&pdev->dev, chan->irq,
>   				       stm32_dma_chan_irq, 0,
> -				       dev_name(chan2dev(chan)), chan);
> +				       vchan_chan_name(&chan->vchan), chan);
>   		if (ret) {
>   			dev_err(&pdev->dev,
>   				"request_irq failed with err %d channel %d\n",
> diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c
> index 4724e7fa0008e..1ee1bd22703fb 100644
> --- a/drivers/dma/stm32/stm32-dma3.c
> +++ b/drivers/dma/stm32/stm32-dma3.c
> @@ -1892,10 +1892,10 @@ static int stm32_dma3_probe(struct platform_device *pdev)
>   		chan->irq = ret;
>   
>   		ret = devm_request_irq(&pdev->dev, chan->irq, stm32_dma3_chan_irq, 0,
> -				       dev_name(chan2dev(chan)), chan);
> +				       vchan_chan_name(&chan->vchan), chan);
>   		if (ret) {
>   			dev_err_probe(&pdev->dev, ret, "Failed to request channel %s IRQ\n",
> -				      dev_name(chan2dev(chan)));
> +				      vchan_chan_name(&chan->vchan));
>   			goto err_clk_disable;
>   		}
>   	}
> diff --git a/drivers/dma/virt-dma.h b/drivers/dma/virt-dma.h
> index 59d9eabc8b674..dd023a3831209 100644
> --- a/drivers/dma/virt-dma.h
> +++ b/drivers/dma/virt-dma.h
> @@ -209,6 +209,17 @@ static inline void vchan_free_chan_resources(struct virt_dma_chan *vc)
>   	vchan_dma_desc_free_list(vc, &head);
>   }
>   
> +/**
> + * vchan_chan_name - Return vchan DMA channel device name
> + * @vc: virtual channel
> + *
> + * Return: The name of the DMA channel device
> + */
> +static inline const char *vchan_chan_name(struct virt_dma_chan *vc)
> +{
> +	return dma_chan_name(&vc->chan);
> +}
> +
>   /**
>    * vchan_synchronize() - synchronize callback execution to the current context
>    * @vc: virtual channel to synchronize
> 




More information about the linux-arm-kernel mailing list