Commit 66701b1499a3ff11882c8c4aef36e8eac86e17b1

Authored by Christoph Lameter
Committed by Linus Torvalds
1 parent 6267276f3f

[PATCH] optional ZONE_DMA: introduce CONFIG_ZONE_DMA

This patch simply defines CONFIG_ZONE_DMA for all arches.  We later do special
things with CONFIG_ZONE_DMA after the VM and an arch are prepared to work
without ZONE_DMA.

CONFIG_ZONE_DMA can be defined in two ways depending on how an architecture
handles ISA DMA.

First if CONFIG_GENERIC_ISA_DMA is set by the arch then we know that the arch
needs ZONE_DMA because ISA DMA devices are supported.  We can catch this in
mm/Kconfig and do not need to modify arch code.

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 verified to not depend on ZONE_DMA.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Andi Kleen <ak@suse.de>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Matthew Wilcox <willy@debian.org>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 9 changed files with 35 additions and 0 deletions Side-by-side Diff

... ... @@ -9,6 +9,10 @@
9 9 bool
10 10 default y
11 11  
  12 +config ZONE_DMA
  13 + bool
  14 + default y
  15 +
12 16 config RWSEM_GENERIC_SPINLOCK
13 17 bool
14 18 default y
... ... @@ -6,6 +6,10 @@
6 6 bool
7 7 default y
8 8  
  9 +config ZONE_DMA
  10 + bool
  11 + default y
  12 +
9 13 config RWSEM_GENERIC_SPINLOCK
10 14 bool
11 15 default y
... ... @@ -17,6 +17,10 @@
17 17 bool
18 18 default n
19 19  
  20 +config ZONE_DMA
  21 + bool
  22 + default y
  23 +
20 24 config FPU
21 25 bool
22 26 default n
... ... @@ -24,6 +24,10 @@
24 24 bool
25 25 default y
26 26  
  27 +config ZONE_DMA
  28 + bool
  29 + default y
  30 +
27 31 config MMU
28 32 bool
29 33 default y
arch/m68knommu/Kconfig
... ... @@ -17,6 +17,10 @@
17 17 bool
18 18 default n
19 19  
  20 +config ZONE_DMA
  21 + bool
  22 + default y
  23 +
20 24 config RWSEM_GENERIC_SPINLOCK
21 25 bool
22 26 default y
... ... @@ -7,6 +7,10 @@
7 7 bool
8 8 default y
9 9  
  10 +config ZONE_DMA
  11 + bool
  12 + default y
  13 +
10 14 config LOCKDEP_SUPPORT
11 15 bool
12 16 default y
... ... @@ -10,6 +10,9 @@
10 10 config MMU
11 11 bool
12 12 default n
  13 +config ZONE_DMA
  14 + bool
  15 + default y
13 16 config RWSEM_GENERIC_SPINLOCK
14 17 bool
15 18 default y
... ... @@ -7,6 +7,10 @@
7 7 bool
8 8 default n
9 9  
  10 +config ZONE_DMA
  11 + bool
  12 + default y
  13 +
10 14 config XTENSA
11 15 bool
12 16 default y
... ... @@ -139,6 +139,10 @@
139 139 default "4096" if PARISC && !PA20
140 140 default "4"
141 141  
  142 +config ZONE_DMA
  143 + def_bool y
  144 + depends on GENERIC_ISA_DMA
  145 +
142 146 #
143 147 # support for page migration
144 148 #