| 
      
      
      From: Paul M. <le...@us...> - 2006-08-07 02:22:16
      
     | 
| Update of /cvsroot/linuxsh/linux/arch/sh/cchips/voyagergx In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv4439/arch/sh/cchips/voyagergx Modified Files: irq.c Log Message: More local IRQ purging, due to generic hardirq locking. Index: irq.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/cchips/voyagergx/irq.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- irq.c 18 Jul 2006 13:30:28 -0000 1.6 +++ irq.c 7 Aug 2006 02:22:11 -0000 1.7 @@ -37,32 +37,26 @@ static void disable_voyagergx_irq(unsigned int irq) { - unsigned long flags, val; - unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); + unsigned long val; + unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); pr_debug("disable_voyagergx_irq(%d): mask=%x\n", irq, mask); - local_irq_save(flags); val = inl(VOYAGER_INT_MASK); val &= ~mask; outl(val, VOYAGER_INT_MASK); - local_irq_restore(flags); } - static void enable_voyagergx_irq(unsigned int irq) { - unsigned long flags, val; - unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); + unsigned long val; + unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); pr_debug("disable_voyagergx_irq(%d): mask=%x\n", irq, mask); - local_irq_save(flags); val = inl(VOYAGER_INT_MASK); val |= mask; outl(val, VOYAGER_INT_MASK); - local_irq_restore(flags); } - static void mask_and_ack_voyagergx(unsigned int irq) { disable_voyagergx_irq(irq); @@ -95,7 +89,8 @@ .end = end_voyagergx_irq, }; -static irqreturn_t voyagergx_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t voyagergx_interrupt(int irq, void *dev_id, + struct pt_regs *regs) { printk(KERN_INFO "VoyagerGX: spurious interrupt, status: 0x%x\n", @@ -103,9 +98,6 @@ return IRQ_HANDLED; } - -/*====================================================*/ - static struct { int (*func)(int, void *); void *dev; |