[PATCH 1/7] update to new irq API

Roman Zippel zippel at linux-m68k.org
Tue May 25 10:27:45 EST 2004


Update the apus interrupt functions to the new irq API

Index: 2.6/arch/ppc/amiga/amiints.c
diff -u 2.6/arch/ppc/amiga/amiints.c:1.1.1.1 2.6/arch/ppc/amiga/amiints.c:1.2
--- 2.6/arch/ppc/amiga/amiints.c:1.1.1.1	Sat Jan 31 15:23:58 2004
+++ 2.6/arch/ppc/amiga/amiints.c	Wed Feb  4 13:21:34 2004
@@ -67,9 +67,10 @@

 static short ami_ablecount[AMI_IRQS];

-static void ami_badint(int irq, void *dev_id, struct pt_regs *fp)
+static irqreturn_t ami_badint(int irq, void *dev_id, struct pt_regs *fp)
 {
 /*	num_spurious += 1;*/
+	return IRQ_NONE;
 }

 /*
@@ -206,7 +207,7 @@
  * The builtin Amiga hardware interrupt handlers.
  */

-static void ami_int1(int irq, void *dev_id, struct pt_regs *fp)
+static irqreturn_t ami_int1(int irq, void *dev_id, struct pt_regs *fp)
 {
 	unsigned short ints = custom.intreqr & custom.intenar;

@@ -227,9 +228,10 @@
 		custom.intreq = IF_SOFT;
 		amiga_do_irq(IRQ_AMIGA_SOFT, fp);
 	}
+	return IRQ_HANDLED;
 }

-static void ami_int3(int irq, void *dev_id, struct pt_regs *fp)
+static irqreturn_t ami_int3(int irq, void *dev_id, struct pt_regs *fp)
 {
 	unsigned short ints = custom.intreqr & custom.intenar;

@@ -248,9 +250,11 @@
 	/* if a vertical blank interrupt */
 	if (ints & IF_VERTB)
 		amiga_do_irq_list(IRQ_AMIGA_VERTB, fp);
+
+	return IRQ_HANDLED;
 }

-static void ami_int4(int irq, void *dev_id, struct pt_regs *fp)
+static irqreturn_t ami_int4(int irq, void *dev_id, struct pt_regs *fp)
 {
 	unsigned short ints = custom.intreqr & custom.intenar;

@@ -277,9 +281,10 @@
 		custom.intreq = IF_AUD3;
 		amiga_do_irq(IRQ_AMIGA_AUD3, fp);
 	}
+	return IRQ_HANDLED;
 }

-static void ami_int5(int irq, void *dev_id, struct pt_regs *fp)
+static irqreturn_t ami_int5(int irq, void *dev_id, struct pt_regs *fp)
 {
 	unsigned short ints = custom.intreqr & custom.intenar;

@@ -294,11 +299,13 @@
 		custom.intreq = IF_DSKSYN;
 		amiga_do_irq(IRQ_AMIGA_DSKSYN, fp);
 	}
+	return IRQ_HANDLED;
 }

-static void ami_int7(int irq, void *dev_id, struct pt_regs *fp)
+static irqreturn_t ami_int7(int irq, void *dev_id, struct pt_regs *fp)
 {
 	panic ("level 7 interrupt received\n");
+	return IRQ_NONE;
 }

 #ifdef CONFIG_APUS
Index: 2.6/arch/ppc/amiga/cia.c
diff -u 2.6/arch/ppc/amiga/cia.c:1.1.1.1 2.6/arch/ppc/amiga/cia.c:1.2
--- 2.6/arch/ppc/amiga/cia.c:1.1.1.1	Sat Jan 31 15:23:58 2004
+++ 2.6/arch/ppc/amiga/cia.c	Wed Feb  4 13:21:34 2004
@@ -134,7 +134,7 @@
 	return cia_able_irq_private(base, mask);
 }

-static void cia_handler(int irq, void *dev_id, struct pt_regs *fp)
+static irqreturn_t cia_handler(int irq, void *dev_id, struct pt_regs *fp)
 {
 	struct ciabase *base = (struct ciabase *)dev_id;
 	irq_desc_t *desc;
@@ -156,6 +156,7 @@
 		desc++;
 	}
 	amiga_do_irq_list(base->server_irq, fp);
+	return IRQ_HANDLED;
 }

 void __init cia_init_IRQ(struct ciabase *base)

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list