patch-2.3.16 linux/arch/arm/kernel/dma-isa.c

Next file: linux/arch/arm/kernel/dma-rpc.c
Previous file: linux/arch/arm/kernel/dma-footbridge.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.15/linux/arch/arm/kernel/dma-isa.c linux/arch/arm/kernel/dma-isa.c
@@ -11,6 +11,7 @@
  *  Copyright (C) 1998 Phil Blundell
  */
 #include <linux/sched.h>
+#include <linux/ioport.h>
 #include <linux/init.h>
 
 #include <asm/dma.h>
@@ -125,7 +126,7 @@
 	outb(channel | 4, isa_dma_port[channel][ISA_DMA_MASK]);
 }
 
-__initfunc(int isa_init_dma(void))
+int __init isa_init_dma(void)
 {
 	int dmac_found;
 
@@ -138,7 +139,7 @@
 	dmac_found = inb(0x00) == 0x55 && inb(0x00) == 0xaa;
 
 	if (dmac_found) {
-		int channel;
+		int channel, i;
 
 		for (channel = 0; channel < 8; channel++)
 			isa_disable_dma(channel, NULL);
@@ -173,6 +174,9 @@
 		outb(0x33, 0x4d6);
 
 		request_dma(DMA_ISA_CASCADE, "cascade");
+
+		for (i = 0; i < sizeof(dma_resources) / sizeof(dma_resources[0]); i++)
+			request_resource(&ioport_resource, dma_resources + i);
 	}
 
 	return dmac_found;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)