[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220630123528.251181-1-renzhijie2@huawei.com>
Date: Thu, 30 Jun 2022 20:35:28 +0800
From: Ren Zhijie <renzhijie2@...wei.com>
To: <hch@....de>, <m.szyprowski@...sung.com>, <robin.murphy@....com>,
<mathieu.poirier@...aro.org>, <mark-pk.tsai@...iatek.com>
CC: <iommu@...ts.linux-foundation.org>, <iommu@...ts.linux.dev>,
<linux-kernel@...r.kernel.org>, Ren Zhijie <renzhijie2@...wei.com>
Subject: [PATCH -next] dma-mapping: Fix build error unused-value
If CONFIG_DMA_DECLARE_COHERENT is not set,
make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-gnu- will be failed, like this:
drivers/remoteproc/remoteproc_core.c: In function ‘rproc_rvdev_release’:
./include/linux/dma-map-ops.h:182:42: error: statement with no effect [-Werror=unused-value]
#define dma_release_coherent_memory(dev) (0)
^
drivers/remoteproc/remoteproc_core.c:464:2: note: in expansion of macro ‘dma_release_coherent_memory’
dma_release_coherent_memory(dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
The return type of function dma_release_coherent_memory in CONFIG_DMA_DECLARE_COHERENT area is void, so in !CONFIG_DMA_DECLARE_COHERENT area it should neither return any value nor be defined as zero.
Reported-by: Hulk Robot <hulkci@...wei.com>
Fixes: e61c451476e6("dma-mapping: Add dma_release_coherent_memory to DMA API")
Signed-off-by: Ren Zhijie <renzhijie2@...wei.com>
---
include/linux/dma-map-ops.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index 53db9655efe9..bfffe494356a 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -179,10 +179,10 @@ static inline int dma_declare_coherent_memory(struct device *dev,
return -ENOSYS;
}
-#define dma_release_coherent_memory(dev) (0)
#define dma_alloc_from_dev_coherent(dev, size, handle, ret) (0)
#define dma_release_from_dev_coherent(dev, order, vaddr) (0)
#define dma_mmap_from_dev_coherent(dev, vma, vaddr, order, ret) (0)
+static inline void dma_release_coherent_memory(struct device *dev) { }
#endif /* CONFIG_DMA_DECLARE_COHERENT */
#ifdef CONFIG_DMA_GLOBAL_POOL
--
2.17.1
Powered by blists - more mailing lists