[PATCH v2 1/2] dmaengine: Add cleanup FREE defines for dma_async_tx_descriptor

Frank Li Frank.Li at nxp.com
Fri Oct 3 09:26:49 PDT 2025


Add cleanup FREE defines for dma_async_tx_descriptor to support automatic
cleanup and simplify error handling.

Signed-off-by: Frank Li <Frank.Li at nxp.com>
---
Check patch report exceed 100 chars, but it's still better put into one
line to keep consistent with other DEFINE_FREE and better readablity

change in v2
- remove surpoiouse remove empty line
---
 include/linux/dmaengine.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 99efe2b9b4ea9844ca6161208362ef18ef111d96..27fa1646a807c49c781e1bce9e3e7d9a3c66f41d 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -5,6 +5,7 @@
 #ifndef LINUX_DMAENGINE_H
 #define LINUX_DMAENGINE_H
 
+#include <linux/cleanup.h>
 #include <linux/device.h>
 #include <linux/err.h>
 #include <linux/uio.h>
@@ -1612,6 +1613,8 @@ static inline int dmaengine_desc_free(struct dma_async_tx_descriptor *desc)
 	return desc->desc_free(desc);
 }
 
+DEFINE_FREE(dma_async_tx_descriptor, struct dma_async_tx_descriptor *, if (_T) dmaengine_desc_free(_T))
+
 /* --- DMA device --- */
 
 int dma_async_device_register(struct dma_device *device);

-- 
2.34.1




More information about the linux-arm-kernel mailing list