aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-05-06 17:49:09 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-07 15:12:51 -0400
commit411f0f3edc141a582190d3605cadd1d993abb6df (patch)
treed9d745beb57ffb0a987c1991635db940127421b6
parent9a82782f8f58219d0c6dc5f0211ce301adf6c6f4 (diff)
Introduce CONFIG_HAS_DMA
Architectures that don't support DMA can say so by adding a config NO_DMA to their Kconfig file. This will prevent compilation of some dma specific driver code. Also dma-mapping-broken.h isn't needed anymore on at least s390. This avoids compilation and linking of otherwise dead/broken code. Other architectures that include dma-mapping-broken.h are arm26, h8300, m68k, m68knommu and v850. If these could be converted as well we could get rid of the header file. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> "John W. Linville" <linville@tuxdriver.com> Cc: Kyle McMartin <kyle@parisc-linux.org> Cc: <James.Bottomley@SteelEye.com> Cc: Tejun Heo <htejun@gmail.com> Cc: Jeff Garzik <jeff@garzik.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: <geert@linux-m68k.org> Cc: <zippel@linux-m68k.org> Cc: <spyro@f2s.com> Cc: <uclinux-v850@lsi.nec.co.jp> Cc: <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/s390/Kconfig3
-rw-r--r--drivers/base/Makefile4
-rw-r--r--include/asm-s390/dma-mapping.h2
-rw-r--r--lib/Kconfig5
4 files changed, 10 insertions, 4 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index e6ec418093e5..1a84719be264 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -49,6 +49,9 @@ config GENERIC_BUG
49config NO_IOMEM 49config NO_IOMEM
50 def_bool y 50 def_bool y
51 51
52config NO_DMA
53 def_bool y
54
52mainmenu "Linux Kernel Configuration" 55mainmenu "Linux Kernel Configuration"
53 56
54config S390 57config S390
diff --git a/drivers/base/Makefile b/drivers/base/Makefile
index e9eb7382ac3a..b39ea3f59c9b 100644
--- a/drivers/base/Makefile
+++ b/drivers/base/Makefile
@@ -2,10 +2,10 @@
2 2
3obj-y := core.o sys.o bus.o dd.o \ 3obj-y := core.o sys.o bus.o dd.o \
4 driver.o class.o platform.o \ 4 driver.o class.o platform.o \
5 cpu.o firmware.o init.o map.o dmapool.o \ 5 cpu.o firmware.o init.o map.o devres.o \
6 dma-mapping.o devres.o \
7 attribute_container.o transport_class.o 6 attribute_container.o transport_class.o
8obj-y += power/ 7obj-y += power/
8obj-$(CONFIG_HAS_DMA) += dma-mapping.o dmapool.o
9obj-$(CONFIG_ISA) += isa.o 9obj-$(CONFIG_ISA) += isa.o
10obj-$(CONFIG_FW_LOADER) += firmware_class.o 10obj-$(CONFIG_FW_LOADER) += firmware_class.o
11obj-$(CONFIG_NUMA) += node.o 11obj-$(CONFIG_NUMA) += node.o
diff --git a/include/asm-s390/dma-mapping.h b/include/asm-s390/dma-mapping.h
index 09bb7b04f967..3f8c12fde0f0 100644
--- a/include/asm-s390/dma-mapping.h
+++ b/include/asm-s390/dma-mapping.h
@@ -9,6 +9,4 @@
9#ifndef _ASM_DMA_MAPPING_H 9#ifndef _ASM_DMA_MAPPING_H
10#define _ASM_DMA_MAPPING_H 10#define _ASM_DMA_MAPPING_H
11 11
12#include <asm-generic/dma-mapping-broken.h>
13
14#endif /* _ASM_DMA_MAPPING_H */ 12#endif /* _ASM_DMA_MAPPING_H */
diff --git a/lib/Kconfig b/lib/Kconfig
index 384249915047..96d6e8ca8b70 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -111,4 +111,9 @@ config HAS_IOPORT
111 depends on HAS_IOMEM && !NO_IOPORT 111 depends on HAS_IOMEM && !NO_IOPORT
112 default y 112 default y
113 113
114config HAS_DMA
115 boolean
116 depends on !NO_DMA
117 default y
118
114endmenu 119endmenu