Browse Source

[MIPS] Remove duplicate ISA DMA code for 0 DMA channel case.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle 18 years ago
parent
commit
aa414dff4f
4 changed files with 8 additions and 34 deletions
  1. 6 5
      arch/mips/Kconfig
  2. 0 1
      arch/mips/kernel/Makefile
  3. 0 28
      arch/mips/kernel/dma-no-isa.c
  4. 2 0
      include/asm-mips/dma.h

+ 6 - 5
arch/mips/Kconfig

@@ -266,8 +266,8 @@ config MIPS_MALTA
 	select BOOT_ELF32
 	select BOOT_ELF32
 	select HAVE_STD_PC_SERIAL_PORT
 	select HAVE_STD_PC_SERIAL_PORT
 	select DMA_NONCOHERENT
 	select DMA_NONCOHERENT
-	select IRQ_CPU
 	select GENERIC_ISA_DMA
 	select GENERIC_ISA_DMA
+	select IRQ_CPU
 	select HW_HAS_PCI
 	select HW_HAS_PCI
 	select I8259
 	select I8259
 	select MIPS_BOARDS_GEN
 	select MIPS_BOARDS_GEN
@@ -534,7 +534,7 @@ config SGI_IP22
 	select HW_HAS_EISA
 	select HW_HAS_EISA
 	select IP22_CPU_SCACHE
 	select IP22_CPU_SCACHE
 	select IRQ_CPU
 	select IRQ_CPU
-	select NO_ISA if ISA
+	select GENERIC_ISA_DMA_SUPPORT_BROKEN
 	select SWAP_IO_SPACE
 	select SWAP_IO_SPACE
 	select SYS_HAS_CPU_R4X00
 	select SYS_HAS_CPU_R4X00
 	select SYS_HAS_CPU_R5000
 	select SYS_HAS_CPU_R5000
@@ -881,6 +881,9 @@ config MIPS_NILE4
 config MIPS_DISABLE_OBSOLETE_IDE
 config MIPS_DISABLE_OBSOLETE_IDE
 	bool
 	bool
 
 
+config GENERIC_ISA_DMA_SUPPORT_BROKEN
+	bool
+
 #
 #
 # Endianess selection.  Suffiently obscure so many users don't know what to
 # Endianess selection.  Suffiently obscure so many users don't know what to
 # answer,so we try hard to limit the available choices.  Also the use of a
 # answer,so we try hard to limit the available choices.  Also the use of a
@@ -1852,13 +1855,11 @@ source "drivers/pci/Kconfig"
 config ISA
 config ISA
 	bool
 	bool
 
 
-config NO_ISA
-	bool
-
 config EISA
 config EISA
 	bool "EISA support"
 	bool "EISA support"
 	depends on HW_HAS_EISA
 	depends on HW_HAS_EISA
 	select ISA
 	select ISA
+	select GENERIC_ISA_DMA
 	---help---
 	---help---
 	  The Extended Industry Standard Architecture (EISA) bus was
 	  The Extended Industry Standard Architecture (EISA) bus was
 	  developed as an open alternative to the IBM MicroChannel bus.
 	  developed as an open alternative to the IBM MicroChannel bus.

+ 0 - 1
arch/mips/kernel/Makefile

@@ -45,7 +45,6 @@ obj-$(CONFIG_MIPS_APSP_KSPD)	+= kspd.o
 obj-$(CONFIG_MIPS_VPE_LOADER)	+= vpe.o
 obj-$(CONFIG_MIPS_VPE_LOADER)	+= vpe.o
 obj-$(CONFIG_MIPS_VPE_APSP_API)	+= rtlx.o
 obj-$(CONFIG_MIPS_VPE_APSP_API)	+= rtlx.o
 
 
-obj-$(CONFIG_NO_ISA)		+= dma-no-isa.o
 obj-$(CONFIG_I8259)		+= i8259.o
 obj-$(CONFIG_I8259)		+= i8259.o
 obj-$(CONFIG_IRQ_CPU)		+= irq_cpu.o
 obj-$(CONFIG_IRQ_CPU)		+= irq_cpu.o
 obj-$(CONFIG_IRQ_CPU_RM7K)	+= irq-rm7000.o
 obj-$(CONFIG_IRQ_CPU_RM7K)	+= irq-rm7000.o

+ 0 - 28
arch/mips/kernel/dma-no-isa.c

@@ -1,28 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2004 by Ralf Baechle
- *
- * Dummy ISA DMA functions for systems that don't have ISA but share drivers
- * with ISA such as legacy free PCI.
- */
-#include <linux/errno.h>
-#include <linux/module.h>
-#include <linux/spinlock.h>
-
-DEFINE_SPINLOCK(dma_spin_lock);
-
-int request_dma(unsigned int dmanr, const char * device_id)
-{
-	return -EINVAL;
-}
-
-void free_dma(unsigned int dmanr)
-{
-}
-
-EXPORT_SYMBOL(dma_spin_lock);
-EXPORT_SYMBOL(request_dma);
-EXPORT_SYMBOL(free_dma);

+ 2 - 0
include/asm-mips/dma.h

@@ -74,7 +74,9 @@
  *
  *
  */
  */
 
 
+#ifndef GENERIC_ISA_DMA_SUPPORT_BROKEN
 #define MAX_DMA_CHANNELS	8
 #define MAX_DMA_CHANNELS	8
+#endif
 
 
 /*
 /*
  * The maximum address in KSEG0 that we can perform a DMA transfer to on this
  * The maximum address in KSEG0 that we can perform a DMA transfer to on this