Thread (12 messages) flat view 12 messages, 4 authors, 20d ago

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

From: Amelie Delaunay <amelie.delaunay@foss.st.com>
Date: 2026-09-04 09:11:05
Also in: dmaengine, imx, linux-mips, linux-sunxi, linux-tegra, linux-trace-kernel, lkml

On 9/4/26 10:35, Amelie Delaunay wrote:
Hi Frank,

On 9/3/26 22:53, Frank.Li@oss.nxp.com wrote:
quoted
From: Frank Li <Frank.Li@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@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".
Oh, okay — my bad. I've just looked at v1, and I now understand that you 
split the vchan_chan_name() and dma_chan_name() updates.
I didn’t catch that at first glance because your cover letter hasn’t 
changed between v1 and v2.
"1st patch: use the existing helper dma_chan_name() to reduce rename 
differences.
2nd patch: rename drivers/dma"
Regards,
Amelie
quoted
  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
_______________________________________________
Linux-stm32 mailing list
Linux-stm32@st-md-mailman.stormreply.com
https://st-md-mailman.stormreply.com/mailman/listinfo/linux-stm32
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help