* [PATCH 1/8] apus: irq API updates
@ 2005-09-24 22:41 Roman Zippel
0 siblings, 0 replies; only message in thread
From: Roman Zippel @ 2005-09-24 22:41 UTC (permalink / raw)
To: linuxppc-dev
Update the apus interrupt functions to the new irq API
---
arch/ppc/amiga/amiints.c | 19 +++++++++++++------
arch/ppc/amiga/cia.c | 3 ++-
2 files changed, 15 insertions(+), 7 deletions(-)
Index: linux/arch/ppc/amiga/amiints.c
===================================================================
--- linux.orig/arch/ppc/amiga/amiints.c 2005-09-23 16:20:11.000000000 +0200
+++ linux/arch/ppc/amiga/amiints.c 2005-09-23 16:20:18.000000000 +0200
@@ -67,9 +67,10 @@ static const unsigned char ami_servers[A
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 @@ void amiga_do_irq_list(int irq, struct p
* 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 @@ static void ami_int1(int irq, void *dev_
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 @@ static void ami_int3(int irq, void *dev_
/* 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 @@ static void ami_int4(int irq, void *dev_
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 @@ static void ami_int5(int irq, void *dev_
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: linux/arch/ppc/amiga/cia.c
===================================================================
--- linux.orig/arch/ppc/amiga/cia.c 2005-09-23 16:20:11.000000000 +0200
+++ linux/arch/ppc/amiga/cia.c 2005-09-23 16:20:18.000000000 +0200
@@ -134,7 +134,7 @@ unsigned char cia_able_irq(unsigned int
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 @@ static void cia_handler(int irq, void *d
desc++;
}
amiga_do_irq_list(base->server_irq, fp);
+ return IRQ_HANDLED;
}
void __init cia_init_IRQ(struct ciabase *base)
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-09-24 22:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-24 22:41 [PATCH 1/8] apus: irq API updates Roman Zippel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).