summary refs log tree commit diff
path: root/arch/mips/au1000/common
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-10-07 19:44:33 +0100
committerRalf Baechle <ralf@linux-mips.org>2006-10-08 02:38:28 +0100
commit937a801576f954bd030d7c4a5a94571710d87c0b (patch)
tree48d3440f765b56cf32a89b4b8193dd033d8227a8 /arch/mips/au1000/common
parent31aa36658a123263a9a69896e348b9600e050679 (diff)
downloadlinux-937a801576f954bd030d7c4a5a94571710d87c0b.tar.gz
[MIPS] Complete fixes after removal of pt_regs argument to int handlers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/au1000/common')
-rw-r--r--arch/mips/au1000/common/dma.c2
-rw-r--r--arch/mips/au1000/common/irq.c52
-rw-r--r--arch/mips/au1000/common/time.c13
-rw-r--r--arch/mips/au1000/common/usbdev.c9
4 files changed, 37 insertions, 39 deletions
diff --git a/arch/mips/au1000/common/dma.c b/arch/mips/au1000/common/dma.c
index fb7c47c1585d..c3019b9c91b1 100644
--- a/arch/mips/au1000/common/dma.c
+++ b/arch/mips/au1000/common/dma.c
@@ -160,7 +160,7 @@ void dump_au1000_dma_channel(unsigned int dmanr)
  * Requests the DMA done IRQ if irqhandler != NULL.
  */
 int request_au1000_dma(int dev_id, const char *dev_str,
-		       irqreturn_t (*irqhandler)(int, void *, struct pt_regs *),
+		       irqreturn_t (*irqhandler)(int, void *),
 		       unsigned long irqflags,
 		       void *irq_dev_id)
 {
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c
index 316722ee8cf5..b32597e05a69 100644
--- a/arch/mips/au1000/common/irq.c
+++ b/arch/mips/au1000/common/irq.c
@@ -67,7 +67,7 @@
 
 extern void set_debug_traps(void);
 extern irq_cpustat_t irq_stat [NR_CPUS];
-extern void mips_timer_interrupt(struct pt_regs *regs);
+extern void mips_timer_interrupt(void);
 
 static void setup_local_irq(unsigned int irq, int type, int int_req);
 static unsigned int startup_irq(unsigned int irq);
@@ -81,10 +81,6 @@ inline void local_disable_irq(unsigned int irq_nr);
 
 void	(*board_init_irq)(void);
 
-#ifdef CONFIG_PM
-extern irqreturn_t counter0_irq(int irq, void *dev_id, struct pt_regs *regs);
-#endif
-
 static DEFINE_SPINLOCK(irq_lock);
 
 
@@ -292,7 +288,7 @@ static struct irq_chip level_irq_type = {
 };
 
 #ifdef CONFIG_PM
-void startup_match20_interrupt(irqreturn_t (*handler)(int, void *, struct pt_regs *))
+void startup_match20_interrupt(irqreturn_t (*handler)(int, void *))
 {
 	struct irq_desc *desc = &irq_desc[AU1000_TOY_MATCH2_INT];
 
@@ -501,14 +497,15 @@ void __init arch_init_irq(void)
  * intcX_reqX_irqdispatch().
  */
 
-void intc0_req0_irqdispatch(struct pt_regs *regs)
+static void intc0_req0_irqdispatch(void)
 {
 	int irq = 0;
 	static unsigned long intc0_req0 = 0;
 
 	intc0_req0 |= au_readl(IC0_REQ0INT);
 
-	if (!intc0_req0) return;
+	if (!intc0_req0)
+		return;
 #ifdef AU1000_USB_DEV_REQ_INT
 	/*
 	 * Because of the tight timing of SETUP token to reply
@@ -517,28 +514,29 @@ void intc0_req0_irqdispatch(struct pt_regs *regs)
 	 */
 	if ((intc0_req0 & (1<<AU1000_USB_DEV_REQ_INT))) {
 		intc0_req0 &= ~(1<<AU1000_USB_DEV_REQ_INT);
-		do_IRQ(AU1000_USB_DEV_REQ_INT, regs);
+		do_IRQ(AU1000_USB_DEV_REQ_INT);
 		return;
 	}
 #endif
 	irq = au_ffs(intc0_req0) - 1;
 	intc0_req0 &= ~(1<<irq);
-	do_IRQ(irq, regs);
+	do_IRQ(irq);
 }
 
 
-void intc0_req1_irqdispatch(struct pt_regs *regs)
+static void intc0_req1_irqdispatch(void)
 {
 	int irq = 0;
 	static unsigned long intc0_req1 = 0;
 
 	intc0_req1 |= au_readl(IC0_REQ1INT);
 
-	if (!intc0_req1) return;
+	if (!intc0_req1)
+		return;
 
 	irq = au_ffs(intc0_req1) - 1;
 	intc0_req1 &= ~(1<<irq);
-	do_IRQ(irq, regs);
+	do_IRQ(irq);
 }
 
 
@@ -546,35 +544,37 @@ void intc0_req1_irqdispatch(struct pt_regs *regs)
  * Interrupt Controller 1:
  * interrupts 32 - 63
  */
-void intc1_req0_irqdispatch(struct pt_regs *regs)
+static void intc1_req0_irqdispatch(void)
 {
 	int irq = 0;
 	static unsigned long intc1_req0 = 0;
 
 	intc1_req0 |= au_readl(IC1_REQ0INT);
 
-	if (!intc1_req0) return;
+	if (!intc1_req0)
+		return;
 
 	irq = au_ffs(intc1_req0) - 1;
 	intc1_req0 &= ~(1<<irq);
 	irq += 32;
-	do_IRQ(irq, regs);
+	do_IRQ(irq);
 }
 
 
-void intc1_req1_irqdispatch(struct pt_regs *regs)
+static void intc1_req1_irqdispatch(void)
 {
 	int irq = 0;
 	static unsigned long intc1_req1 = 0;
 
 	intc1_req1 |= au_readl(IC1_REQ1INT);
 
-	if (!intc1_req1) return;
+	if (!intc1_req1)
+		return;
 
 	irq = au_ffs(intc1_req1) - 1;
 	intc1_req1 &= ~(1<<irq);
 	irq += 32;
-	do_IRQ(irq, regs);
+	do_IRQ(irq);
 }
 
 #ifdef CONFIG_PM
@@ -660,20 +660,20 @@ restore_au1xxx_intctl(void)
 }
 #endif /* CONFIG_PM */
 
-asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
+asmlinkage void plat_irq_dispatch(void)
 {
 	unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
 
 	if (pending & CAUSEF_IP7)
-		mips_timer_interrupt(regs);
+		mips_timer_interrupt();
 	else if (pending & CAUSEF_IP2)
-		intc0_req0_irqdispatch(regs);
+		intc0_req0_irqdispatch();
 	else if (pending & CAUSEF_IP3)
-		intc0_req1_irqdispatch(regs);
+		intc0_req1_irqdispatch();
 	else if (pending & CAUSEF_IP4)
-		intc1_req0_irqdispatch(regs);
+		intc1_req0_irqdispatch();
 	else if (pending  & CAUSEF_IP5)
-		intc1_req1_irqdispatch(regs);
+		intc1_req1_irqdispatch();
 	else
-		spurious_interrupt(regs);
+		spurious_interrupt();
 }
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c
index 0a067f3113a5..1989d56139c8 100644
--- a/arch/mips/au1000/common/time.c
+++ b/arch/mips/au1000/common/time.c
@@ -62,7 +62,7 @@ static unsigned int timerhi = 0, timerlo = 0;
 #error "unsupported HZ value! Must be in [100,1000]"
 #endif
 #define MATCH20_INC (328*100/HZ) /* magic number 328 is for HZ=100... */
-extern void startup_match20_interrupt(irqreturn_t (*handler)(int, void *, struct pt_regs *));
+extern void startup_match20_interrupt(irqreturn_t (*handler)(int, void *));
 static unsigned long last_pc0, last_match20;
 #endif
 
@@ -79,7 +79,8 @@ static inline void ack_r4ktimer(unsigned long newval)
  * is provably more robust.
  */
 unsigned long wtimer;
-void mips_timer_interrupt(struct pt_regs *regs)
+
+void mips_timer_interrupt(void)
 {
 	int irq = 63;
 	unsigned long count;
@@ -98,7 +99,7 @@ void mips_timer_interrupt(struct pt_regs *regs)
 		kstat_this_cpu.irqs[irq]++;
 		do_timer(1);
 #ifndef CONFIG_SMP
-		update_process_times(user_mode(regs));
+		update_process_times(user_mode(get_irq_regs()));
 #endif
 		r4k_cur += r4k_offset;
 		ack_r4ktimer(r4k_cur);
@@ -115,7 +116,7 @@ null:
 }
 
 #ifdef CONFIG_PM
-irqreturn_t counter0_irq(int irq, void *dev_id, struct pt_regs *regs)
+irqreturn_t counter0_irq(int irq, void *dev_id)
 {
 	unsigned long pc0;
 	int time_elapsed;
@@ -139,7 +140,7 @@ irqreturn_t counter0_irq(int irq, void *dev_id, struct pt_regs *regs)
 	while (time_elapsed > 0) {
 		do_timer(1);
 #ifndef CONFIG_SMP
-		update_process_times(user_mode(regs));
+		update_process_times(user_mode(get_irq_regs()));
 #endif
 		time_elapsed -= MATCH20_INC;
 		last_match20 += MATCH20_INC;
@@ -158,7 +159,7 @@ irqreturn_t counter0_irq(int irq, void *dev_id, struct pt_regs *regs)
 		jiffie_drift -= 999;
 		do_timer(1); /* increment jiffies by one */
 #ifndef CONFIG_SMP
-		update_process_times(user_mode(regs));
+		update_process_times(user_mode(get_irq_regs()));
 #endif
 	}
 
diff --git a/arch/mips/au1000/common/usbdev.c b/arch/mips/au1000/common/usbdev.c
index 63bcb3a95dc7..70dc82e536cd 100644
--- a/arch/mips/au1000/common/usbdev.c
+++ b/arch/mips/au1000/common/usbdev.c
@@ -1031,8 +1031,7 @@ process_ep_receive (struct usb_dev* dev, endpoint_t *ep)
 
 
 /* This ISR handles the receive complete and suspend events */
-static void
-req_sus_intr (int irq, void *dev_id, struct pt_regs *regs)
+static void req_sus_intr (int irq, void *dev_id)
 {
 	struct usb_dev *dev = (struct usb_dev *) dev_id;
 	u32 status;
@@ -1050,8 +1049,7 @@ req_sus_intr (int irq, void *dev_id, struct pt_regs *regs)
 
 
 /* This ISR handles the DMA done events on EP0 */
-static void
-dma_done_ep0_intr(int irq, void *dev_id, struct pt_regs *regs)
+static void dma_done_ep0_intr(int irq, void *dev_id)
 {
 	struct usb_dev *dev = (struct usb_dev *) dev_id;
 	usbdev_pkt_t* pkt;
@@ -1094,8 +1092,7 @@ dma_done_ep0_intr(int irq, void *dev_id, struct pt_regs *regs)
 }
 
 /* This ISR handles the DMA done events on endpoints 2,3,4,5 */
-static void
-dma_done_ep_intr(int irq, void *dev_id, struct pt_regs *regs)
+static void dma_done_ep_intr(int irq, void *dev_id)
 {
 	struct usb_dev *dev = (struct usb_dev *) dev_id;
 	int i;