Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752121AbdHHJPv (ORCPT ); Tue, 8 Aug 2017 05:15:51 -0400 Received: from mail1.bemta6.messagelabs.com ([193.109.254.107]:57706 "EHLO mail1.bemta6.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751925AbdHHJPt (ORCPT ); Tue, 8 Aug 2017 05:15:49 -0400 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrPIsWRWlGSWpSXmKPExsUS8J9toq5LY2e kwclVHBYrVx9lsri8aw6bxdojd9ktDn54wurA4rFm3hpGj903G9g8+rasYvT4vEkugCWKNTMv Kb8igTVjwdJLLAX9XBU9uy+wNTBe4uhi5OIQEmhglNh1aCFzFyMnh4SAn8S3Az+ZIBLzGCVuf u4BS7AJaEmcn3WHCcQWESiV6Di8AsxmFvCQWLXoDyuILSxgKNG+pYOli5GDg0VARaLhkz+IyS tgKTHvABvEeHmJae96wap5BQQlTs58wgJiCwkoSixv/Ad1gpxE5/cOdpBWCYE4iS93TCFMa4m JmxMhdkpIHHzxgnkCo8AsJINmIUktYGRaxahenFpUllqka6KXVJSZnlGSm5iZo2toYKaXm1pc nJiempOYVKyXnJ+7iREYuAxAsIOx+7L/IUZJDiYlUd5N2p2RQnxJ+SmVGYnFGfFFpTmpxYcYZ Tg4lCR4ExuAcoJFqempFWmZOcAYgklLcPAoifBerQdK8xYXJOYWZ6ZDpE4x6nK8mvD/G5MQS1 5+XqqUOO9vkCIBkKKM0jy4EbB4vsQoKyXMywh0lBBPQWpRbmYJqvwrRnEORiVhXlGQS3gy80r gNr0COoIJ6IgIX7AjShIRUlINjKfjDZ/nc3hweNrvuuq6WfVQwwmH/tleL/g4L8yvvL1pgstC 8/8Rag3eU2bEJih4e79YNOX5TqX3HalsP/l5P61a2HN29bZHG6Ze/bS6c1F09spp9s/uXnHal dK1XfqQ55TpjUmPN6fOTbNumKghwLzgxdwTGzKVYy5/FTa4ZnDr2pt1vu1PjnkosRRnJBpqMR cVJwIA9FIr4uICAAA= X-Env-Sender: michael.moese@men.de X-Msg-Ref: server-10.tower-193.messagelabs.com!1502183747!102722952!1 X-Originating-IP: [80.255.6.145] X-StarScan-Received: X-StarScan-Version: 9.4.25; banners=-,-,- X-VirusChecked: Checked X-PGP-Universal: processed; by keys.men.de on Tue, 08 Aug 2017 11:15:48 +0200 From: Michael Moese To: Christoph Hellwig , Marek Szyprowski , Robin Murphy CC: , Michael Moese Subject: [PATCH] Introduce dmam_zalloc_coherent() Date: Tue, 8 Aug 2017 11:15:35 +0200 Message-ID: <20170808091535.31371-1-michael.moese@men.de> X-Mailer: git-send-email 2.13.1 MIME-Version: 1.0 X-Originating-IP: [192.1.2.30] X-ClientProxiedBy: MEN-EX01.intra.men.de (192.168.1.1) To MEN-EX01.intra.men.de (192.168.1.1) X-EXCLAIMER-MD-CONFIG: e4841e51-7998-49c0-ba41-8b8a0e2d8962 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1294 Lines: 34 All memory allocation functions have a pendant for allocating zeroed memory, but dmam_alloc_coherent does not have such a pendant. However, it is easier to read dmam_zalloc_coherent than passing an extra flag or, even worse, see memset() after the allocation. This patch adds an inline function dmam_zalloc_coherent(), exactly like the implementation of dma_zalloc_coherent(). Signed-off-by: Michael Moese --- include/linux/dma-mapping.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index 03c0196a6f24..cf6cbda76ee2 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -761,6 +761,15 @@ extern void dmam_free_coherent(struct device *dev, size_t size, void *vaddr, extern void *dmam_alloc_attrs(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp, unsigned long attrs); + +static inline void *dma_zalloc_coherent(struct device *dev, size_t size, + dma_addr_t *dma_handle, gfp_t flag) +{ + void *ret = dmam_alloc_coherent(dev, size, dma_handle, + flag | __GFP_ZERO); + return ret; +} + #ifdef CONFIG_HAVE_GENERIC_DMA_COHERENT extern int dmam_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr, -- 2.13.1