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/cchips/hd6446x | |
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/cchips/hd6446x')
-rw-r--r-- | arch/sh/cchips/hd6446x/hd64461/setup.c | 7 | ||||
-rw-r--r-- | arch/sh/cchips/hd6446x/hd64465/setup.c | 6 |
2 files changed, 0 insertions, 13 deletions
diff --git a/arch/sh/cchips/hd6446x/hd64461/setup.c b/arch/sh/cchips/hd6446x/hd64461/setup.c index 6c961273a23a..38f1e8171a3a 100644 --- a/arch/sh/cchips/hd6446x/hd64461/setup.c +++ b/arch/sh/cchips/hd6446x/hd64461/setup.c | |||
@@ -11,35 +11,28 @@ | |||
11 | #include <linux/interrupt.h> | 11 | #include <linux/interrupt.h> |
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <linux/irq.h> | 13 | #include <linux/irq.h> |
14 | |||
15 | #include <asm/io.h> | 14 | #include <asm/io.h> |
16 | #include <asm/irq.h> | 15 | #include <asm/irq.h> |
17 | #include <asm/hd64461.h> | 16 | #include <asm/hd64461.h> |
18 | 17 | ||
19 | static void disable_hd64461_irq(unsigned int irq) | 18 | static void disable_hd64461_irq(unsigned int irq) |
20 | { | 19 | { |
21 | unsigned long flags; | ||
22 | unsigned short nimr; | 20 | unsigned short nimr; |
23 | unsigned short mask = 1 << (irq - HD64461_IRQBASE); | 21 | unsigned short mask = 1 << (irq - HD64461_IRQBASE); |
24 | 22 | ||
25 | local_irq_save(flags); | ||
26 | nimr = inw(HD64461_NIMR); | 23 | nimr = inw(HD64461_NIMR); |
27 | nimr |= mask; | 24 | nimr |= mask; |
28 | outw(nimr, HD64461_NIMR); | 25 | outw(nimr, HD64461_NIMR); |
29 | local_irq_restore(flags); | ||
30 | } | 26 | } |
31 | 27 | ||
32 | static void enable_hd64461_irq(unsigned int irq) | 28 | static void enable_hd64461_irq(unsigned int irq) |
33 | { | 29 | { |
34 | unsigned long flags; | ||
35 | unsigned short nimr; | 30 | unsigned short nimr; |
36 | unsigned short mask = 1 << (irq - HD64461_IRQBASE); | 31 | unsigned short mask = 1 << (irq - HD64461_IRQBASE); |
37 | 32 | ||
38 | local_irq_save(flags); | ||
39 | nimr = inw(HD64461_NIMR); | 33 | nimr = inw(HD64461_NIMR); |
40 | nimr &= ~mask; | 34 | nimr &= ~mask; |
41 | outw(nimr, HD64461_NIMR); | 35 | outw(nimr, HD64461_NIMR); |
42 | local_irq_restore(flags); | ||
43 | } | 36 | } |
44 | 37 | ||
45 | static void mask_and_ack_hd64461(unsigned int irq) | 38 | static void mask_and_ack_hd64461(unsigned int irq) |
diff --git a/arch/sh/cchips/hd6446x/hd64465/setup.c b/arch/sh/cchips/hd6446x/hd64465/setup.c index d2b2851bc44b..30573d3e1966 100644 --- a/arch/sh/cchips/hd6446x/hd64465/setup.c +++ b/arch/sh/cchips/hd6446x/hd64465/setup.c | |||
@@ -25,31 +25,25 @@ | |||
25 | 25 | ||
26 | static void disable_hd64465_irq(unsigned int irq) | 26 | static void disable_hd64465_irq(unsigned int irq) |
27 | { | 27 | { |
28 | unsigned long flags; | ||
29 | unsigned short nimr; | 28 | unsigned short nimr; |
30 | unsigned short mask = 1 << (irq - HD64465_IRQ_BASE); | 29 | unsigned short mask = 1 << (irq - HD64465_IRQ_BASE); |
31 | 30 | ||
32 | pr_debug("disable_hd64465_irq(%d): mask=%x\n", irq, mask); | 31 | pr_debug("disable_hd64465_irq(%d): mask=%x\n", irq, mask); |
33 | local_irq_save(flags); | ||
34 | nimr = inw(HD64465_REG_NIMR); | 32 | nimr = inw(HD64465_REG_NIMR); |
35 | nimr |= mask; | 33 | nimr |= mask; |
36 | outw(nimr, HD64465_REG_NIMR); | 34 | outw(nimr, HD64465_REG_NIMR); |
37 | local_irq_restore(flags); | ||
38 | } | 35 | } |
39 | 36 | ||
40 | 37 | ||
41 | static void enable_hd64465_irq(unsigned int irq) | 38 | static void enable_hd64465_irq(unsigned int irq) |
42 | { | 39 | { |
43 | unsigned long flags; | ||
44 | unsigned short nimr; | 40 | unsigned short nimr; |
45 | unsigned short mask = 1 << (irq - HD64465_IRQ_BASE); | 41 | unsigned short mask = 1 << (irq - HD64465_IRQ_BASE); |
46 | 42 | ||
47 | pr_debug("enable_hd64465_irq(%d): mask=%x\n", irq, mask); | 43 | pr_debug("enable_hd64465_irq(%d): mask=%x\n", irq, mask); |
48 | local_irq_save(flags); | ||
49 | nimr = inw(HD64465_REG_NIMR); | 44 | nimr = inw(HD64465_REG_NIMR); |
50 | nimr &= ~mask; | 45 | nimr &= ~mask; |
51 | outw(nimr, HD64465_REG_NIMR); | 46 | outw(nimr, HD64465_REG_NIMR); |
52 | local_irq_restore(flags); | ||
53 | } | 47 | } |
54 | 48 | ||
55 | 49 | ||