diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2007-05-06 17:49:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 15:12:51 -0400 |
commit | 411f0f3edc141a582190d3605cadd1d993abb6df (patch) | |
tree | d9d745beb57ffb0a987c1991635db940127421b6 | |
parent | 9a82782f8f58219d0c6dc5f0211ce301adf6c6f4 (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/Kconfig | 3 | ||||
-rw-r--r-- | drivers/base/Makefile | 4 | ||||
-rw-r--r-- | include/asm-s390/dma-mapping.h | 2 | ||||
-rw-r--r-- | lib/Kconfig | 5 |
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 | |||
49 | config NO_IOMEM | 49 | config NO_IOMEM |
50 | def_bool y | 50 | def_bool y |
51 | 51 | ||
52 | config NO_DMA | ||
53 | def_bool y | ||
54 | |||
52 | mainmenu "Linux Kernel Configuration" | 55 | mainmenu "Linux Kernel Configuration" |
53 | 56 | ||
54 | config S390 | 57 | config 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 | ||
3 | obj-y := core.o sys.o bus.o dd.o \ | 3 | obj-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 |
8 | obj-y += power/ | 7 | obj-y += power/ |
8 | obj-$(CONFIG_HAS_DMA) += dma-mapping.o dmapool.o | ||
9 | obj-$(CONFIG_ISA) += isa.o | 9 | obj-$(CONFIG_ISA) += isa.o |
10 | obj-$(CONFIG_FW_LOADER) += firmware_class.o | 10 | obj-$(CONFIG_FW_LOADER) += firmware_class.o |
11 | obj-$(CONFIG_NUMA) += node.o | 11 | obj-$(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 | ||
114 | config HAS_DMA | ||
115 | boolean | ||
116 | depends on !NO_DMA | ||
117 | default y | ||
118 | |||
114 | endmenu | 119 | endmenu |