Introduce CONFIG_ZONE_DMA CONFIG_ZONE_DMA can be defined in two ways depending on how an architecture handles ISA DMA. First when CONFIG_GENERIC_ISA_DMA is set by the arch then we know that the arch needs ZONE_DMA because ISA DMA devices are supported. The arch would need to be modified in order to allow switching ZONE_DMA off. Second, arches may use ZONE_DMA in an unknown way. We set CONFIG_ZONE_DMA for all arches that do not set CONFIG_GENERIC_ISA_DMA in order to insure backwards compatibility. The arches may later undefine ZONE_DMA if their arch code has been modified to not depend on ZONE_DMA. As a result of this patch CONFIG_ZONE_DMA should be defined for every arch. Signed-off-by: Christoph Lameter Index: linux-2.6.18-rc5-mm1/mm/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/mm/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/mm/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -139,6 +139,10 @@ default "4096" if PARISC && !PA20 default "4" +config ZONE_DMA + def_bool y + depends on GENERIC_ISA_DMA + # # support for page migration # Index: linux-2.6.18-rc5-mm1/arch/ia64/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/ia64/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/ia64/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -22,6 +22,10 @@ bool default y +config ZONE_DMA + bool + default y + config MMU bool default y Index: linux-2.6.18-rc5-mm1/arch/cris/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/cris/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/cris/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -9,6 +9,10 @@ bool default y +config ZONE_DMA + bool + default y + config RWSEM_GENERIC_SPINLOCK bool default y Index: linux-2.6.18-rc5-mm1/arch/s390/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/s390/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/s390/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -7,6 +7,10 @@ bool default y +config ZONE_DMA + bool + default y + config LOCKDEP_SUPPORT bool default y Index: linux-2.6.18-rc5-mm1/arch/xtensa/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/xtensa/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/xtensa/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -7,6 +7,10 @@ bool default n +config ZONE_DMA + bool + default y + config XTENSA bool default y Index: linux-2.6.18-rc5-mm1/arch/h8300/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/h8300/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/h8300/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -17,6 +17,10 @@ bool default n +config ZONE_DMA + bool + default y + config FPU bool default n Index: linux-2.6.18-rc5-mm1/arch/v850/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/v850/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/v850/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -10,6 +10,9 @@ config MMU bool default n +config ZONE_DMA + bool + default y config RWSEM_GENERIC_SPINLOCK bool default y Index: linux-2.6.18-rc5-mm1/arch/sh/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/sh/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/sh/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -14,6 +14,10 @@ gaming console. The SuperH port has a home page at . +config ZONE_DMA + bool + default y + config RWSEM_GENERIC_SPINLOCK bool default y Index: linux-2.6.18-rc5-mm1/arch/frv/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/frv/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/frv/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -6,6 +6,10 @@ bool default y +config ZONE_DMA + bool + default y + config RWSEM_GENERIC_SPINLOCK bool default y Index: linux-2.6.18-rc5-mm1/arch/m68knommu/Kconfig =================================================================== --- linux-2.6.18-rc5-mm1.orig/arch/m68knommu/Kconfig 2006-09-02 20:10:50.000000000 -0700 +++ linux-2.6.18-rc5-mm1/arch/m68knommu/Kconfig 2006-09-02 20:11:45.000000000 -0700 @@ -17,6 +17,10 @@ bool default n +config ZONE_DMA + bool + default y + config RWSEM_GENERIC_SPINLOCK bool default y