From: Heiko Carstens 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 "John W. Linville" Cc: Kyle McMartin Cc: Cc: Tejun Heo Cc: Jeff Garzik Cc: Martin Schwidefsky Cc: Cc: Cc: Cc: Cc: Signed-off-by: Andrew Morton --- arch/s390/Kconfig | 3 +++ drivers/base/Makefile | 4 ++-- include/asm-s390/dma-mapping.h | 2 -- lib/Kconfig | 5 +++++ 4 files changed, 10 insertions(+), 4 deletions(-) diff -puN arch/s390/Kconfig~introduce-config_has_dma arch/s390/Kconfig --- a/arch/s390/Kconfig~introduce-config_has_dma +++ a/arch/s390/Kconfig @@ -49,6 +49,9 @@ config GENERIC_BUG config NO_IOMEM def_bool y +config NO_DMA + def_bool y + mainmenu "Linux Kernel Configuration" config S390 diff -puN drivers/base/Makefile~introduce-config_has_dma drivers/base/Makefile --- a/drivers/base/Makefile~introduce-config_has_dma +++ a/drivers/base/Makefile @@ -2,10 +2,10 @@ obj-y := core.o sys.o bus.o dd.o \ driver.o class.o platform.o \ - cpu.o firmware.o init.o map.o dmapool.o \ - dma-mapping.o devres.o \ + cpu.o firmware.o init.o map.o devres.o \ attribute_container.o transport_class.o obj-y += power/ +obj-$(CONFIG_HAS_DMA) += dma-mapping.o dmapool.o obj-$(CONFIG_ISA) += isa.o obj-$(CONFIG_FW_LOADER) += firmware_class.o obj-$(CONFIG_NUMA) += node.o diff -puN include/asm-s390/dma-mapping.h~introduce-config_has_dma include/asm-s390/dma-mapping.h --- a/include/asm-s390/dma-mapping.h~introduce-config_has_dma +++ a/include/asm-s390/dma-mapping.h @@ -9,6 +9,4 @@ #ifndef _ASM_DMA_MAPPING_H #define _ASM_DMA_MAPPING_H -#include - #endif /* _ASM_DMA_MAPPING_H */ diff -puN lib/Kconfig~introduce-config_has_dma lib/Kconfig --- a/lib/Kconfig~introduce-config_has_dma +++ a/lib/Kconfig @@ -127,4 +127,9 @@ config HAS_IOPORT depends on HAS_IOMEM && !NO_IOPORT default y +config HAS_DMA + boolean + depends on !NO_DMA + default y + endmenu _