diff options
Diffstat (limited to 'arch/sh/kernel/cpu/irq/maskreg.c')
-rw-r--r-- | arch/sh/kernel/cpu/irq/maskreg.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/sh/kernel/cpu/irq/maskreg.c b/arch/sh/kernel/cpu/irq/maskreg.c index 1cc0de15e4a6..492db31b3cab 100644 --- a/arch/sh/kernel/cpu/irq/maskreg.c +++ b/arch/sh/kernel/cpu/irq/maskreg.c | |||
@@ -52,32 +52,26 @@ static void shutdown_maskreg_irq(unsigned int irq) | |||
52 | 52 | ||
53 | static void disable_maskreg_irq(unsigned int irq) | 53 | static void disable_maskreg_irq(unsigned int irq) |
54 | { | 54 | { |
55 | unsigned long flags; | ||
56 | unsigned short val, mask = 0x01 << irq; | 55 | unsigned short val, mask = 0x01 << irq; |
57 | 56 | ||
58 | BUG_ON(!irq_mask_register); | 57 | BUG_ON(!irq_mask_register); |
59 | 58 | ||
60 | /* Set "irq"th bit */ | 59 | /* Set "irq"th bit */ |
61 | local_irq_save(flags); | ||
62 | val = ctrl_inw(irq_mask_register); | 60 | val = ctrl_inw(irq_mask_register); |
63 | val |= mask; | 61 | val |= mask; |
64 | ctrl_outw(val, irq_mask_register); | 62 | ctrl_outw(val, irq_mask_register); |
65 | local_irq_restore(flags); | ||
66 | } | 63 | } |
67 | 64 | ||
68 | static void enable_maskreg_irq(unsigned int irq) | 65 | static void enable_maskreg_irq(unsigned int irq) |
69 | { | 66 | { |
70 | unsigned long flags; | ||
71 | unsigned short val, mask = ~(0x01 << irq); | 67 | unsigned short val, mask = ~(0x01 << irq); |
72 | 68 | ||
73 | BUG_ON(!irq_mask_register); | 69 | BUG_ON(!irq_mask_register); |
74 | 70 | ||
75 | /* Clear "irq"th bit */ | 71 | /* Clear "irq"th bit */ |
76 | local_irq_save(flags); | ||
77 | val = ctrl_inw(irq_mask_register); | 72 | val = ctrl_inw(irq_mask_register); |
78 | val &= mask; | 73 | val &= mask; |
79 | ctrl_outw(val, irq_mask_register); | 74 | ctrl_outw(val, irq_mask_register); |
80 | local_irq_restore(flags); | ||
81 | } | 75 | } |
82 | 76 | ||
83 | static void mask_and_ack_maskreg(unsigned int irq) | 77 | static void mask_and_ack_maskreg(unsigned int irq) |