diff options
author | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 05:03:34 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 05:03:34 -0400 |
commit | 8599cf059209de22dd3be16816b90f1aad10c74a (patch) | |
tree | 8cd5bdec25431a2797147c3eea11532ec71b6272 /arch/sh/boards/renesas/r7780rp | |
parent | ba463937ef75bceaf3943edf01f849257c68623a (diff) |
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>
Diffstat (limited to 'arch/sh/boards/renesas/r7780rp')
-rw-r--r-- | arch/sh/boards/renesas/r7780rp/irq.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/sh/boards/renesas/r7780rp/irq.c b/arch/sh/boards/renesas/r7780rp/irq.c index c7b9fe6e640d..61d5e5d3c294 100644 --- a/arch/sh/boards/renesas/r7780rp/irq.c +++ b/arch/sh/boards/renesas/r7780rp/irq.c | |||
@@ -39,30 +39,24 @@ static unsigned int startup_r7780rp_irq(unsigned int irq) | |||
39 | 39 | ||
40 | static void disable_r7780rp_irq(unsigned int irq) | 40 | static void disable_r7780rp_irq(unsigned int irq) |
41 | { | 41 | { |
42 | unsigned long flags; | ||
43 | unsigned short val; | 42 | unsigned short val; |
44 | unsigned short mask = 0xffff ^ (0x0001 << mask_pos[irq]); | 43 | unsigned short mask = 0xffff ^ (0x0001 << mask_pos[irq]); |
45 | 44 | ||
46 | /* Set the priority in IPR to 0 */ | 45 | /* Set the priority in IPR to 0 */ |
47 | local_irq_save(flags); | ||
48 | val = ctrl_inw(IRLCNTR1); | 46 | val = ctrl_inw(IRLCNTR1); |
49 | val &= mask; | 47 | val &= mask; |
50 | ctrl_outw(val, IRLCNTR1); | 48 | ctrl_outw(val, IRLCNTR1); |
51 | local_irq_restore(flags); | ||
52 | } | 49 | } |
53 | 50 | ||
54 | static void enable_r7780rp_irq(unsigned int irq) | 51 | static void enable_r7780rp_irq(unsigned int irq) |
55 | { | 52 | { |
56 | unsigned long flags; | ||
57 | unsigned short val; | 53 | unsigned short val; |
58 | unsigned short value = (0x0001 << mask_pos[irq]); | 54 | unsigned short value = (0x0001 << mask_pos[irq]); |
59 | 55 | ||
60 | /* Set priority in IPR back to original value */ | 56 | /* Set priority in IPR back to original value */ |
61 | local_irq_save(flags); | ||
62 | val = ctrl_inw(IRLCNTR1); | 57 | val = ctrl_inw(IRLCNTR1); |
63 | val |= value; | 58 | val |= value; |
64 | ctrl_outw(val, IRLCNTR1); | 59 | ctrl_outw(val, IRLCNTR1); |
65 | local_irq_restore(flags); | ||
66 | } | 60 | } |
67 | 61 | ||
68 | static void ack_r7780rp_irq(unsigned int irq) | 62 | static void ack_r7780rp_irq(unsigned int irq) |