patch-2.0.21-2.1.0 linux/arch/m68k/atari/stdma.c

Next file: linux/arch/m68k/atari/stram.c
Previous file: linux/arch/m68k/atari/ksyms.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file lx2.0/v2.0.21/linux/arch/m68k/atari/stdma.c linux/arch/m68k/atari/stdma.c
@@ -32,7 +32,7 @@
 #include <linux/types.h>
 #include <linux/genhd.h>
 #include <linux/sched.h>
-#include <asm/bootinfo.h>
+#include <asm/setup.h>
 #include <asm/atari_stdma.h>
 #include <asm/atariints.h>
 #include <asm/atarihw.h>
@@ -41,7 +41,8 @@
 #include <asm/irq.h>
 
 static int stdma_locked = 0;			/* the semaphore */
-static isrfunc	stdma_isr = NULL;		/* int func to be called */
+						/* int func to be called */
+static void (*stdma_isr)(int, void *, struct pt_regs *) = NULL;
 static void	*stdma_isr_data = NULL;		/* data passed to isr */
 static struct wait_queue *stdma_wait = NULL;	/* wait queue for ST-DMA */
 
@@ -50,7 +51,7 @@
 
 /***************************** Prototypes *****************************/
 
-static void stdma_int (int irq, struct pt_regs *fp, void *dummy);
+static void stdma_int (int irq, void *dummy, struct pt_regs *fp);
 
 /************************* End of Prototypes **************************/
 
@@ -72,7 +73,7 @@
  *
  */
 
-void stdma_lock(isrfunc isr, void *data)
+void stdma_lock(void (*handler)(int, void *, struct pt_regs *), void *data)
 {
 	unsigned long	oldflags;
 
@@ -86,7 +87,7 @@
 		sleep_on(&stdma_wait);
 
 	stdma_locked   = 1;
-	stdma_isr      = isr;
+	stdma_isr      = handler;
 	stdma_isr_data = data;
 	restore_flags(oldflags);
 }
@@ -174,8 +175,8 @@
 void stdma_init(void)
 {
 	stdma_isr = NULL;
-	add_isr(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW, NULL,
-		"ST-DMA: floppy/ACSI/IDE/Falcon-SCSI");
+	request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW,
+	            "ST-DMA: floppy/ACSI/IDE/Falcon-SCSI", stdma_int);
 }
 
 
@@ -187,8 +188,8 @@
  *
  */
 
-static void stdma_int(int irq, struct pt_regs *fp, void *dummy)
+static void stdma_int(int irq, void *dummy, struct pt_regs *fp)
 {
   if (stdma_isr)
-      (*stdma_isr)(irq, fp, stdma_isr_data);
+      (*stdma_isr)(irq, stdma_isr_data, fp);
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov