dma-mapping: deprecate dma_zalloc_coherent
authorChristoph Hellwig <hch@lst.de>
Fri, 14 Dec 2018 08:15:02 +0000 (09:15 +0100)
committerChristoph Hellwig <hch@lst.de>
Thu, 20 Dec 2018 07:14:09 +0000 (08:14 +0100)
We now always return zeroed memory from dma_alloc_coherent.  Note that
simply passing GFP_ZERO to dma_alloc_coherent wasn't always doing the
right thing to start with given that various allocators are not backed
by the page allocator and thus would ignore GFP_ZERO.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Documentation/DMA-API.txt
include/linux/dma-mapping.h

index 016eb6909b8acfba2e0da91fc3070418a67dd86d..e133ccd60228044ac1bce9026082bd5b3eb2411d 100644 (file)
@@ -58,15 +58,6 @@ specify the ``GFP_`` flags (see kmalloc()) for the allocation (the
 implementation may choose to ignore flags that affect the location of
 the returned memory, like GFP_DMA).
 
-::
-
-       void *
-       dma_zalloc_coherent(struct device *dev, size_t size,
-                           dma_addr_t *dma_handle, gfp_t flag)
-
-Wraps dma_alloc_coherent() and also zeroes the returned memory if the
-allocation attempt succeeded.
-
 ::
 
        void
index f422aec0f53cfba6180d942761739cfe7f3e6684..a52c6409bdc2ebeda5255a6378d8654c306f9733 100644 (file)
@@ -644,12 +644,13 @@ static inline unsigned long dma_max_pfn(struct device *dev)
 }
 #endif
 
+/*
+ * Please always use dma_alloc_coherent instead as it already zeroes the memory!
+ */
 static inline void *dma_zalloc_coherent(struct device *dev, size_t size,
                                        dma_addr_t *dma_handle, gfp_t flag)
 {
-       void *ret = dma_alloc_coherent(dev, size, dma_handle,
-                                      flag | __GFP_ZERO);
-       return ret;
+       return dma_alloc_coherent(dev, size, dma_handle, flag);
 }
 
 static inline int dma_get_cache_alignment(void)