Browse Source

[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 years ago
parent
commit
5cae841b13

+ 4 - 0
arch/alpha/Kconfig

@@ -280,6 +280,10 @@ config ISA
 	  (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.
 
+config ISA_DMA_API
+	bool
+	default y
+
 config PCI
 	bool
 	depends on !ALPHA_JENSEN

+ 4 - 0
arch/arm/Kconfig

@@ -266,6 +266,10 @@ config ISA_DMA
 	depends on FOOTBRIDGE_HOST || ARCH_SHARK
 	default y
 
+config ISA_DMA_API
+	bool
+	default y
+
 config PCI
 	bool "PCI support" if ARCH_INTEGRATOR_AP
 	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.
 endmenu
 
+config ISA_DMA_API
+	bool
+	default y
+
 menu "General setup"
 
 # 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"
 
+config ISA_DMA_API
+	bool
+	default y
+
 config ISA
 	bool "ISA support"
 	depends on !(X86_VOYAGER || X86_VISWS)

+ 5 - 0
arch/m68knommu/Kconfig

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

+ 4 - 0
arch/mips/Kconfig

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

+ 4 - 0
arch/parisc/Kconfig

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

+ 4 - 0
arch/ppc/Kconfig

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

+ 3 - 0
arch/ppc64/Kconfig

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

+ 4 - 0
arch/sh/Kconfig

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

+ 5 - 0
arch/x86_64/Kconfig

@@ -379,6 +379,11 @@ config GENERIC_IRQ_PROBE
 	bool
 	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"
 
 source kernel/power/Kconfig