[PATCH 01/12] dmaengine: Make dma_get_slave_channel() public
From: Koichiro Den
Date: Thu May 21 2026 - 02:31:44 EST
Commit c3c431de99c06 ("dmaengine: Move dma_get_{,any_}slave_channel() to
private dmaengine.h") moved dma_get_slave_channel() to the private DMA
engine header because only DMA engine drivers used it at the time.
PCI endpoint DMA needs to reserve an exact channel from outside
drivers/dma. Restore dma_get_slave_channel() to the public header for
that use case while keeping dma_get_any_slave_channel() private.
Signed-off-by: Koichiro Den <den@xxxxxxxxxxxxx>
---
drivers/dma/dmaengine.h | 1 -
include/linux/dmaengine.h | 6 ++++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/dmaengine.h b/drivers/dma/dmaengine.h
index 53f16d3f0029..bde5217ce2b5 100644
--- a/drivers/dma/dmaengine.h
+++ b/drivers/dma/dmaengine.h
@@ -179,7 +179,6 @@ dmaengine_desc_callback_valid(struct dmaengine_desc_callback *cb)
return cb->callback || cb->callback_result;
}
-struct dma_chan *dma_get_slave_channel(struct dma_chan *chan);
struct dma_chan *dma_get_any_slave_channel(struct dma_device *device);
#ifdef CONFIG_DEBUG_FS
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index b3d251c9734e..59be52e74d5e 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -1527,6 +1527,7 @@ struct dma_chan *dma_request_chan(struct device *dev, const char *name);
struct dma_chan *dma_request_chan_by_mask(const dma_cap_mask_t *mask);
struct dma_chan *devm_dma_request_chan(struct device *dev, const char *name);
+struct dma_chan *dma_get_slave_channel(struct dma_chan *chan);
void dma_release_channel(struct dma_chan *chan);
int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps);
#else
@@ -1568,6 +1569,11 @@ static inline struct dma_chan *devm_dma_request_chan(struct device *dev, const c
return ERR_PTR(-ENODEV);
}
+static inline struct dma_chan *dma_get_slave_channel(struct dma_chan *chan)
+{
+ return NULL;
+}
+
static inline void dma_release_channel(struct dma_chan *chan)
{
}
--
2.51.0