From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754871AbbIHNSx (ORCPT ); Tue, 8 Sep 2015 09:18:53 -0400 Received: from mail-pa0-f42.google.com ([209.85.220.42]:36259 "EHLO mail-pa0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754709AbbIHNSs (ORCPT ); Tue, 8 Sep 2015 09:18:48 -0400 From: Sudip Mukherjee To: Chris Zankel , Max Filippov Cc: linux-kernel@vger.kernel.org, Andrew Morton , Christoph Hellwig , linux-xtensa@linux-xtensa.org, Sudip Mukherjee Subject: [PATCH 1/4] xtensa: fix error with dma_{alloc,free}_{attrs,coherent} Date: Tue, 8 Sep 2015 18:48:31 +0530 Message-Id: <1441718314-11208-2-git-send-email-sudipm.mukherjee@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1441718314-11208-1-git-send-email-sudipm.mukherjee@gmail.com> References: <1441718314-11208-1-git-send-email-sudipm.mukherjee@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org commit 59b5f4726434 ("dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent}") has removed dma_{alloc,free}_{attrs,coherent} functions from arch specific files to asm-generic/dma-mapping-common.h. But they were not removed for xtensa architecture and as a result we are getting errors like: error: redefinition of 'dma_alloc_attrs' error: redefinition of 'dma_free_attrs' while building with allmodconfig. Signed-off-by: Sudip Mukherjee --- arch/xtensa/include/asm/dma-mapping.h | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/arch/xtensa/include/asm/dma-mapping.h b/arch/xtensa/include/asm/dma-mapping.h index f01cb30..bf24c90 100644 --- a/arch/xtensa/include/asm/dma-mapping.h +++ b/arch/xtensa/include/asm/dma-mapping.h @@ -34,37 +34,6 @@ static inline struct dma_map_ops *get_dma_ops(struct device *dev) #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_attrs(d, s, h, f, NULL) #define dma_free_noncoherent(d, s, v, h) dma_free_attrs(d, s, v, h, NULL) -#define dma_alloc_coherent(d, s, h, f) dma_alloc_attrs(d, s, h, f, NULL) -#define dma_free_coherent(d, s, c, h) dma_free_attrs(d, s, c, h, NULL) - -static inline void *dma_alloc_attrs(struct device *dev, size_t size, - dma_addr_t *dma_handle, gfp_t gfp, - struct dma_attrs *attrs) -{ - void *ret; - struct dma_map_ops *ops = get_dma_ops(dev); - - if (dma_alloc_from_coherent(dev, size, dma_handle, &ret)) - return ret; - - ret = ops->alloc(dev, size, dma_handle, gfp, attrs); - debug_dma_alloc_coherent(dev, size, *dma_handle, ret); - - return ret; -} - -static inline void dma_free_attrs(struct device *dev, size_t size, - void *vaddr, dma_addr_t dma_handle, - struct dma_attrs *attrs) -{ - struct dma_map_ops *ops = get_dma_ops(dev); - - if (dma_release_from_coherent(dev, get_order(size), vaddr)) - return; - - ops->free(dev, size, vaddr, dma_handle, attrs); - debug_dma_free_coherent(dev, size, vaddr, dma_handle); -} static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) -- 1.9.1