sh: Cleanup IRQ disabling for hardirq handlers.

The generic hardirq layer already takes care of a lot of the
appropriate locking and disabling for us, no need to duplicate
it in the handlers..

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt
2006-09-27 18:03:34 +09:00
parent ba463937ef
commit 8599cf0592
15 changed files with 38 additions and 156 deletions

View File

@@ -52,32 +52,26 @@ static void shutdown_maskreg_irq(unsigned int irq)
static void disable_maskreg_irq(unsigned int irq)
{
unsigned long flags;
unsigned short val, mask = 0x01 << irq;
BUG_ON(!irq_mask_register);
/* Set "irq"th bit */
local_irq_save(flags);
val = ctrl_inw(irq_mask_register);
val |= mask;
ctrl_outw(val, irq_mask_register);
local_irq_restore(flags);
}
static void enable_maskreg_irq(unsigned int irq)
{
unsigned long flags;
unsigned short val, mask = ~(0x01 << irq);
BUG_ON(!irq_mask_register);
/* Clear "irq"th bit */
local_irq_save(flags);
val = ctrl_inw(irq_mask_register);
val &= mask;
ctrl_outw(val, irq_mask_register);
local_irq_restore(flags);
}
static void mask_and_ack_maskreg(unsigned int irq)