1
0
Fork 0

dma-mapping: deprecate dma_zalloc_coherent

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>
hifive-unleashed-5.1
Christoph Hellwig 2018-12-14 09:15:02 +01:00
parent 518a2f1925
commit 06d4dd2f2c
2 changed files with 4 additions and 12 deletions

View 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 implementation may choose to ignore flags that affect the location of
the returned memory, like GFP_DMA). 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 void

View File

@ -644,12 +644,13 @@ static inline unsigned long dma_max_pfn(struct device *dev)
} }
#endif #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, static inline void *dma_zalloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t flag) dma_addr_t *dma_handle, gfp_t flag)
{ {
void *ret = dma_alloc_coherent(dev, size, dma_handle, return dma_alloc_coherent(dev, size, dma_handle, flag);
flag | __GFP_ZERO);
return ret;
} }
static inline int dma_get_cache_alignment(void) static inline int dma_get_cache_alignment(void)