]> git.hungrycats.org Git - linux/commitdiff
[PATCH] More irqreturn_t changes for v850
authorMiles Bader <miles@lsi.nec.co.jp>
Thu, 10 Jul 2003 17:13:55 +0000 (10:13 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Thu, 10 Jul 2003 17:13:55 +0000 (10:13 -0700)
arch/v850/kernel/gbus_int.c
arch/v850/kernel/simcons.c
arch/v850/kernel/time.c

index 977aec9634118b0114da2916bec022179b6866e6..cf96abc138899ff93bf6f3332173c6ec84f08919 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * arch/v850/kernel/gbus_int.c -- Midas labs GBUS interrupt support
  *
- *  Copyright (C) 2001,02  NEC Corporation
- *  Copyright (C) 2001,02  Miles Bader <miles@gnu.org>
+ *  Copyright (C) 2001,02,03  NEC Electronics Corporation
+ *  Copyright (C) 2001,02,03  Miles Bader <miles@gnu.org>
  *
  * This file is subject to the terms and conditions of the GNU General
  * Public License.  See the file COPYING in the main directory of this
@@ -99,9 +99,11 @@ int gbus_int_irq_pending (unsigned irq)
 
 /* Handle a shared GINT interrupt by passing to the appropriate GBUS
    interrupt handler.  */
-static void gbus_int_handle_irq (int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t gbus_int_handle_irq (int irq, void *dev_id,
+                                       struct pt_regs *regs)
 {
        unsigned w;
+       irqreturn_t rval = IRQ_NONE;
        unsigned gint = irq - IRQ_GINT (0);
 
        for (w = 0; w < GBUS_INT_NUM_WORDS; w++) {
@@ -127,6 +129,7 @@ static void gbus_int_handle_irq (int irq, void *dev_id, struct pt_regs *regs)
 
                                /* Recursively call handle_irq to handle it. */
                                handle_irq (irq, regs);
+                               rval = IRQ_HANDLED;
                        } while (status);
                }
        }
@@ -136,6 +139,8 @@ static void gbus_int_handle_irq (int irq, void *dev_id, struct pt_regs *regs)
           still pending, and so result in another CPU interrupt.  */
        GBUS_INT_ENABLE (0, gint) &= ~0x1;
        GBUS_INT_ENABLE (0, gint) |=  0x1;
+
+       return rval;
 }
 
 \f
index 40d114638b1afb815cb938d292dfc9137ef1405a..c4996c89eeddd4d47b2f498390ebdcb7f7e2cdb9 100644 (file)
@@ -30,7 +30,7 @@ static void simcons_write (struct console *co, const char *buf, unsigned len)
        V850_SIM_SYSCALL (write, 1, buf, len);
 }
 
-static int simcons_read (struct console *co, const char *buf, unsigned len)
+static int simcons_read (struct console *co, char *buf, unsigned len)
 {
        return V850_SIM_SYSCALL (read, 0, buf, len);
 }
index cd448c048fe64514fefa4c0712d499ca821d90bc..5151f001a1e6582d3fe5058c17a888012647574f 100644 (file)
@@ -51,7 +51,7 @@ static inline void do_profile (unsigned long pc)
  * timer_interrupt() needs to keep up the real-time clock,
  * as well as call the "do_timer()" routine every clocktick
  */
-static void timer_interrupt (int irq, void *dummy, struct pt_regs *regs)
+static irqreturn_t timer_interrupt (int irq, void *dummy, struct pt_regs *regs)
 {
 #if 0
        /* last time the cmos clock got updated */
@@ -106,6 +106,8 @@ static void timer_interrupt (int irq, void *dummy, struct pt_regs *regs)
        }
 #endif /* CONFIG_HEARTBEAT */
 #endif /* 0 */
+
+       return IRQ_HANDLED;
 }
 
 /*