浏览代码

[PATCH] ISA DMA Kconfig fixes - part 1

A bunch of drivers use ISA DMA helpers or their equivalents for
platforms that have ISA with different DMA controller (a lot of ARM
boxen).  Currently there is no way to put such dependency in Kconfig -
CONFIG_ISA is not it (e.g.  it is not set on platforms that have no ISA
slots, but have on-board devices that pretend to be ISA ones).

New symbol added - ISA_DMA_API.  Set when we have functional
enable_dma()/set_dma_mode()/etc.  set of helpers.  Next patches in the
series will add missing dependencies for drivers that need them.

I'm very carefully staying the hell out of the recurring flamefest on
what exactly CONFIG_ISA would mean in ideal world - added symbol has a
well-defined meaning and for now I really want to treat it as completely
independent from the mess around CONFIG_ISA.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro 20 年之前
父节点
当前提交
5cae841b13
共有 11 个文件被更改,包括 45 次插入0 次删除
  1. 4 0
      arch/alpha/Kconfig
  2. 4 0
      arch/arm/Kconfig
  3. 4 0
      arch/arm26/Kconfig
  4. 4 0
      arch/i386/Kconfig
  5. 5 0
      arch/m68knommu/Kconfig
  6. 4 0
      arch/mips/Kconfig
  7. 4 0
      arch/parisc/Kconfig
  8. 4 0
      arch/ppc/Kconfig
  9. 3 0
      arch/ppc64/Kconfig
  10. 4 0
      arch/sh/Kconfig
  11. 5 0
      arch/x86_64/Kconfig

+ 4 - 0
arch/alpha/Kconfig

@@ -280,6 +280,10 @@ config ISA
 	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
 	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
 	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
 	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
 
 
+config ISA_DMA_API
+	bool
+	default y
+
 config PCI
 config PCI
 	bool
 	bool
 	depends on !ALPHA_JENSEN
 	depends on !ALPHA_JENSEN

+ 4 - 0
arch/arm/Kconfig

@@ -266,6 +266,10 @@ config ISA_DMA
 	depends on FOOTBRIDGE_HOST || ARCH_SHARK
 	depends on FOOTBRIDGE_HOST || ARCH_SHARK
 	default y
 	default y
 
 
+config ISA_DMA_API
+	bool
+	default y
+
 config PCI
 config PCI
 	bool "PCI support" if ARCH_INTEGRATOR_AP
 	bool "PCI support" if ARCH_INTEGRATOR_AP
 	default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000
 	default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000

+ 4 - 0
arch/arm26/Kconfig

@@ -89,6 +89,10 @@ config PAGESIZE_16
           machine with 4MB of memory.
           machine with 4MB of memory.
 endmenu
 endmenu
 
 
+config ISA_DMA_API
+	bool
+	default y
+
 menu "General setup"
 menu "General setup"
 
 
 # Compressed boot loader in ROM.  Yes, we really want to ask about
 # Compressed boot loader in ROM.  Yes, we really want to ask about

+ 4 - 0
arch/i386/Kconfig

@@ -1173,6 +1173,10 @@ source "drivers/pci/pcie/Kconfig"
 
 
 source "drivers/pci/Kconfig"
 source "drivers/pci/Kconfig"
 
 
+config ISA_DMA_API
+	bool
+	default y
+
 config ISA
 config ISA
 	bool "ISA support"
 	bool "ISA support"
 	depends on !(X86_VOYAGER || X86_VISWS)
 	depends on !(X86_VOYAGER || X86_VISWS)

+ 5 - 0
arch/m68knommu/Kconfig

@@ -534,6 +534,11 @@ endchoice
 
 
 endmenu
 endmenu
 
 
+config ISA_DMA_API
+	bool
+	depends on !M5272
+	default y
+
 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
 
 
 config PCI
 config PCI

+ 4 - 0
arch/mips/Kconfig

@@ -1656,3 +1656,7 @@ config GENERIC_HARDIRQS
 config GENERIC_IRQ_PROBE
 config GENERIC_IRQ_PROBE
 	bool
 	bool
 	default y
 	default y
+
+config ISA_DMA_API
+	bool
+	default y

+ 4 - 0
arch/parisc/Kconfig

@@ -45,6 +45,10 @@ config GENERIC_IRQ_PROBE
 config PM
 config PM
 	bool
 	bool
 
 
+config ISA_DMA_API
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 
 

+ 4 - 0
arch/ppc/Kconfig

@@ -1079,6 +1079,10 @@ source kernel/power/Kconfig
 
 
 endmenu
 endmenu
 
 
+config ISA_DMA_API
+	bool
+	default y
+
 menu "Bus options"
 menu "Bus options"
 
 
 config ISA
 config ISA

+ 3 - 0
arch/ppc64/Kconfig

@@ -293,6 +293,9 @@ config SECCOMP
 
 
 endmenu
 endmenu
 
 
+config ISA_DMA_API
+	bool
+	default y
 
 
 menu "General setup"
 menu "General setup"
 
 

+ 4 - 0
arch/sh/Kconfig

@@ -693,6 +693,10 @@ config RTC_9701JE
 
 
 endmenu
 endmenu
 
 
+config ISA_DMA_API
+	bool
+	depends on MPC1211
+	default y
 
 
 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
 
 

+ 5 - 0
arch/x86_64/Kconfig

@@ -379,6 +379,11 @@ config GENERIC_IRQ_PROBE
 	bool
 	bool
 	default y
 	default y
 
 
+# we have no ISA slots, but we do have ISA-style DMA.
+config ISA_DMA_API
+	bool
+	default y
+
 menu "Power management options"
 menu "Power management options"
 
 
 source kernel/power/Kconfig
 source kernel/power/Kconfig