The following patch adds support for CONFIG_GENERIC_ISA_DMA, which went
into the 2.4-ac kernel series prior to 2.5 happening.
The following patch allows architectures to decide whether they want
the generic ISA DMA functionality provided by kernel/dma.c and other
supporting files.
--- orig/fs/proc/proc_misc.c Wed May 29 23:57:09 2002
+++ linux/fs/proc/proc_misc.c Wed May 29 21:55:53 2002
@@ -394,12 +394,14 @@
return proc_calc_metrics(page, start, off, count, eof, len);
}
+#ifdef CONFIG_GENERIC_ISA_DMA
static int dma_read_proc(char *page, char **start, off_t off,
int count, int *eof, void *data)
{
int len = get_dma_list(page);
return proc_calc_metrics(page, start, off, count, eof, len);
}
+#endif
static int ioports_read_proc(char *page, char **start, off_t off,
int count, int *eof, void *data)
@@ -553,7 +555,9 @@
{"stat", kstat_read_proc},
{"devices", devices_read_proc},
{"filesystems", filesystems_read_proc},
+#ifdef CONFIG_GENERIC_ISA_DMA
{"dma", dma_read_proc},
+#endif
{"ioports", ioports_read_proc},
{"cmdline", cmdline_read_proc},
#ifdef CONFIG_SGI_DS1286
--- orig/kernel/Makefile Wed Jun 5 10:08:25 2002
+++ linux/kernel/Makefile Sat May 25 10:31:47 2002
@@ -12,11 +12,12 @@
export-objs = signal.o sys.o kmod.o context.o ksyms.o pm.o exec_domain.o \
printk.o platform.o suspend.o
-obj-y = sched.o dma.o fork.o exec_domain.o panic.o printk.o \
+obj-y = sched.o fork.o exec_domain.o panic.o printk.o \
module.o exit.o itimer.o info.o time.o softirq.o resource.o \
sysctl.o capability.o ptrace.o timer.o user.o \
signal.o sys.o kmod.o context.o futex.o platform.o
+obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
obj-$(CONFIG_UID16) += uid16.o
obj-$(CONFIG_MODULES) += ksyms.o
obj-$(CONFIG_PM) += pm.o
--- orig/kernel/ksyms.c Wed Jun 5 10:08:25 2002
+++ linux/kernel/ksyms.c Mon Jun 3 10:14:30 2002
@@ -436,9 +436,11 @@
EXPORT_SYMBOL(kiobuf_wait_for_io);
/* dma handling */
+#ifdef CONFIG_GENERIC_ISA_DMA
EXPORT_SYMBOL(request_dma);
EXPORT_SYMBOL(free_dma);
EXPORT_SYMBOL(dma_spin_lock);
+#endif
#ifdef HAVE_DISABLE_HLT
EXPORT_SYMBOL(disable_hlt);
EXPORT_SYMBOL(enable_hlt);
--- orig/arch/alpha/config.in Wed May 29 23:56:58 2002
+++ linux/arch/alpha/config.in Wed May 29 21:55:08 2002
@@ -7,6 +7,7 @@
define_bool CONFIG_UID16 n
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
+define_bool CONFIG_GENERIC_ISA_DMA y
source init/Config.in
--- orig/arch/i386/config.in Wed Jun 5 10:08:22 2002
+++ linux/arch/i386/config.in Sat May 25 10:25:43 2002
@@ -9,6 +9,7 @@
define_bool CONFIG_SBUS n
define_bool CONFIG_UID16 y
+define_bool CONFIG_GENERIC_ISA_DMA y
source init/Config.in
--- orig/arch/ia64/config.in Wed May 29 23:56:59 2002
+++ linux/arch/ia64/config.in Wed May 29 21:55:09 2002
@@ -13,6 +13,7 @@
define_bool CONFIG_SBUS n
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
+define_bool CONFIG_GENERIC_ISA_DMA y
choice 'IA-64 processor type' \
"Itanium CONFIG_ITANIUM \
--- orig/arch/m68k/config.in Sat May 25 11:09:21 2002
+++ linux/arch/m68k/config.in Mon May 13 10:16:01 2002
@@ -6,6 +6,7 @@
define_bool CONFIG_UID16 y
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
+define_bool CONFIG_GENERIC_ISA_DMA y
mainmenu_name "Linux/68k Kernel Configuration"
--- orig/arch/mips/config.in Sat May 25 11:09:28 2002
+++ linux/arch/mips/config.in Wed Apr 24 19:32:40 2002
@@ -4,6 +4,7 @@
#
define_bool CONFIG_MIPS y
define_bool CONFIG_SMP n
+define_bool CONFIG_GENERIC_ISA_DMA y
mainmenu_name "Linux Kernel Configuration"
--- orig/arch/mips64/config.in Sat May 25 11:09:34 2002
+++ linux/arch/mips64/config.in Wed Apr 24 19:32:40 2002
@@ -26,6 +26,7 @@
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
+define_bool CONFIG_GENERIC_ISA_DMA y
#
# Select some configuration options automatically based on user selections
--- orig/arch/parisc/config.in Sat May 25 11:09:39 2002
+++ linux/arch/parisc/config.in Sun Feb 24 16:46:01 2002
@@ -9,6 +9,7 @@
define_bool CONFIG_UID16 n
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
+define_bool CONFIG_GENERIC_ISA_DMA y
source init/Config.in
--- orig/arch/ppc/config.in Wed May 29 23:57:00 2002
+++ linux/arch/ppc/config.in Wed May 29 21:55:14 2002
@@ -7,6 +7,7 @@
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
define_bool CONFIG_HAVE_DEC_LOCK y
+define_bool CONFIG_GENERIC_ISA_DMA y
mainmenu_name "Linux/PowerPC Kernel Configuration"
--- orig/arch/sh/config.in Sat May 25 11:09:56 2002
+++ linux/arch/sh/config.in Sat Mar 23 23:09:17 2002
@@ -9,6 +9,7 @@
define_bool CONFIG_UID16 y
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
+define_bool CONFIG_GENERIC_ISA_DMA y
source init/Config.in
--- orig/arch/sparc/config.in Sat May 25 11:09:59 2002
+++ linux/arch/sparc/config.in Fri May 3 10:39:16 2002
@@ -6,6 +6,7 @@
define_bool CONFIG_UID16 y
define_bool CONFIG_HIGHMEM y
+define_bool CONFIG_GENERIC_ISA_DMA y
source init/Config.in
--- orig/arch/sparc64/config.in Sat May 25 11:10:04 2002
+++ linux/arch/sparc64/config.in Mon May 6 16:42:10 2002
@@ -26,6 +26,7 @@
define_bool CONFIG_HAVE_DEC_LOCK y
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
+define_bool CONFIG_GENERIC_ISA_DMA y
define_bool CONFIG_ISA n
define_bool CONFIG_ISAPNP n
define_bool CONFIG_EISA n
-- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/