ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol
authorRob Herring <rob.herring@calxeda.com>
Tue, 20 Mar 2012 19:33:01 +0000 (14:33 -0500)
committerRob Herring <rob.herring@calxeda.com>
Sun, 25 Mar 2012 19:35:58 +0000 (14:35 -0500)
The only users of ARCH_HAS_DMA_SET_COHERENT_MASK are 2 ARM platforms:
ixp4xx and pxa cm_x2xx. We've been getting lucky that the define is
implicitly included before dma-mapping.h, but the removal of io.h broke
things (c334bc1 ARM: make mach/io.h include optional). Since memory.h
is the correct place, but no longer exists, convert the define to a
kconfig entry.

Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Imre Kaloz <kaloz@openwrt.org>
Cc: Krzysztof Halasa <khc@pm.waw.pl>
Cc: Eric Miao <eric.y.miao@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
arch/arm/Kconfig
arch/arm/mach-ixp4xx/include/mach/hardware.h
arch/arm/mach-pxa/Kconfig
arch/arm/mach-pxa/include/mach/hardware.h
include/linux/dma-mapping.h

index 31a2ddc2e4808a1e490e4ed6b020c37e2bc1446d..d3999a5f1c710dd93ed6745f8163b6ec16a82e90 100644 (file)
@@ -180,6 +180,9 @@ config ZONE_DMA
 config NEED_DMA_MAP_STATE
        def_bool y
 
+config ARCH_HAS_DMA_SET_COHERENT_MASK
+       bool
+
 config GENERIC_ISA_DMA
        bool
 
@@ -547,6 +550,7 @@ config ARCH_IXP2000
 config ARCH_IXP4XX
        bool "IXP4xx-based"
        depends on MMU
+       select ARCH_HAS_DMA_SET_COHERENT_MASK
        select CLKSRC_MMIO
        select CPU_XSCALE
        select GENERIC_GPIO
index c30e7e923a73a2337b9a68de6eeea2cf1a39b0a0..034bb2a1b805333829aee38fe89ba7d4797826d0 100644 (file)
@@ -23,8 +23,6 @@
 #define PCIBIOS_MAX_MEM                0x4BFFFFFF
 #endif
 
-#define ARCH_HAS_DMA_SET_COHERENT_MASK
-
 /* Register locations and bits */
 #include "ixp4xx-regs.h"
 
index 61d3c72ded84d111e973d4a1dd4e3ab87f487b84..109ccd2a8885842dab6327e18ae4c4b49f0b35a0 100644 (file)
@@ -108,6 +108,7 @@ config CSB726_CSB701
 
 config MACH_ARMCORE
        bool "CompuLab CM-X255/CM-X270 modules"
+       select ARCH_HAS_DMA_SET_COHERENT_MASK if PCI
        select PXA27x
        select IWMMXT
        select PXA25x
index 8184669dde28116aad82b8854f2346bbac6d00be..54b64eae3535b6466405c9a6b70e540738cd9834 100644 (file)
@@ -337,8 +337,4 @@ extern unsigned int get_memclk_frequency_10khz(void);
 extern unsigned long get_clock_tick_rate(void);
 #endif
 
-#if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI)
-#define ARCH_HAS_DMA_SET_COHERENT_MASK
-#endif
-
 #endif  /* _ASM_ARCH_HARDWARE_H */
index e13117cbd2f7daefa62d067124cbd815b860aea9..5a736af3cc7a3623574794554ab510c29c596a30 100644 (file)
@@ -77,7 +77,7 @@ static inline u64 dma_get_mask(struct device *dev)
        return DMA_BIT_MASK(32);
 }
 
-#ifdef ARCH_HAS_DMA_SET_COHERENT_MASK
+#ifdef CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK
 int dma_set_coherent_mask(struct device *dev, u64 mask);
 #else
 static inline int dma_set_coherent_mask(struct device *dev, u64 mask)