diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-11-17 10:46:45 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-12-14 17:55:33 -0500 |
commit | 239007b8440abff689632f50cdf0f2b9e895b534 (patch) | |
tree | 569cab843af4a999d6d868ec9a824530d2bfa733 /arch | |
parent | 9f5a5621e78cf48d86682a71ceb3fcdbde38b222 (diff) |
genirq: Convert irq_desc.lock to raw_spinlock
Convert locks which cannot be sleeping locks in preempt-rt to
raw_spinlocks.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
32 files changed, 131 insertions, 131 deletions
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index c0de072b8305..5f2cf23c4648 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c | |||
@@ -81,7 +81,7 @@ show_interrupts(struct seq_file *p, void *v) | |||
81 | #endif | 81 | #endif |
82 | 82 | ||
83 | if (irq < ACTUAL_NR_IRQS) { | 83 | if (irq < ACTUAL_NR_IRQS) { |
84 | spin_lock_irqsave(&irq_desc[irq].lock, flags); | 84 | raw_spin_lock_irqsave(&irq_desc[irq].lock, flags); |
85 | action = irq_desc[irq].action; | 85 | action = irq_desc[irq].action; |
86 | if (!action) | 86 | if (!action) |
87 | goto unlock; | 87 | goto unlock; |
@@ -105,7 +105,7 @@ show_interrupts(struct seq_file *p, void *v) | |||
105 | 105 | ||
106 | seq_putc(p, '\n'); | 106 | seq_putc(p, '\n'); |
107 | unlock: | 107 | unlock: |
108 | spin_unlock_irqrestore(&irq_desc[irq].lock, flags); | 108 | raw_spin_unlock_irqrestore(&irq_desc[irq].lock, flags); |
109 | } else if (irq == ACTUAL_NR_IRQS) { | 109 | } else if (irq == ACTUAL_NR_IRQS) { |
110 | #ifdef CONFIG_SMP | 110 | #ifdef CONFIG_SMP |
111 | seq_puts(p, "IPI: "); | 111 | seq_puts(p, "IPI: "); |
diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h index acac5302e4ea..8920b2d6e3b8 100644 --- a/arch/arm/include/asm/mach/irq.h +++ b/arch/arm/include/asm/mach/irq.h | |||
@@ -26,9 +26,9 @@ extern int show_fiq_list(struct seq_file *, void *); | |||
26 | */ | 26 | */ |
27 | #define do_bad_IRQ(irq,desc) \ | 27 | #define do_bad_IRQ(irq,desc) \ |
28 | do { \ | 28 | do { \ |
29 | spin_lock(&desc->lock); \ | 29 | raw_spin_lock(&desc->lock); \ |
30 | handle_bad_irq(irq, desc); \ | 30 | handle_bad_irq(irq, desc); \ |
31 | spin_unlock(&desc->lock); \ | 31 | raw_spin_unlock(&desc->lock); \ |
32 | } while(0) | 32 | } while(0) |
33 | 33 | ||
34 | #endif | 34 | #endif |
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index c9a8619f3856..b7cb45bb91e8 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -69,7 +69,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
69 | } | 69 | } |
70 | 70 | ||
71 | if (i < NR_IRQS) { | 71 | if (i < NR_IRQS) { |
72 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 72 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
73 | action = irq_desc[i].action; | 73 | action = irq_desc[i].action; |
74 | if (!action) | 74 | if (!action) |
75 | goto unlock; | 75 | goto unlock; |
@@ -84,7 +84,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
84 | 84 | ||
85 | seq_putc(p, '\n'); | 85 | seq_putc(p, '\n'); |
86 | unlock: | 86 | unlock: |
87 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 87 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
88 | } else if (i == NR_IRQS) { | 88 | } else if (i == NR_IRQS) { |
89 | #ifdef CONFIG_FIQ | 89 | #ifdef CONFIG_FIQ |
90 | show_fiq_list(p, v); | 90 | show_fiq_list(p, v); |
@@ -139,7 +139,7 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) | |||
139 | } | 139 | } |
140 | 140 | ||
141 | desc = irq_desc + irq; | 141 | desc = irq_desc + irq; |
142 | spin_lock_irqsave(&desc->lock, flags); | 142 | raw_spin_lock_irqsave(&desc->lock, flags); |
143 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN; | 143 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN; |
144 | if (iflags & IRQF_VALID) | 144 | if (iflags & IRQF_VALID) |
145 | desc->status &= ~IRQ_NOREQUEST; | 145 | desc->status &= ~IRQ_NOREQUEST; |
@@ -147,7 +147,7 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) | |||
147 | desc->status &= ~IRQ_NOPROBE; | 147 | desc->status &= ~IRQ_NOPROBE; |
148 | if (!(iflags & IRQF_NOAUTOEN)) | 148 | if (!(iflags & IRQF_NOAUTOEN)) |
149 | desc->status &= ~IRQ_NOAUTOEN; | 149 | desc->status &= ~IRQ_NOAUTOEN; |
150 | spin_unlock_irqrestore(&desc->lock, flags); | 150 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
151 | } | 151 | } |
152 | 152 | ||
153 | void __init init_IRQ(void) | 153 | void __init init_IRQ(void) |
@@ -166,9 +166,9 @@ static void route_irq(struct irq_desc *desc, unsigned int irq, unsigned int cpu) | |||
166 | { | 166 | { |
167 | pr_debug("IRQ%u: moving from cpu%u to cpu%u\n", irq, desc->node, cpu); | 167 | pr_debug("IRQ%u: moving from cpu%u to cpu%u\n", irq, desc->node, cpu); |
168 | 168 | ||
169 | spin_lock_irq(&desc->lock); | 169 | raw_spin_lock_irq(&desc->lock); |
170 | desc->chip->set_affinity(irq, cpumask_of(cpu)); | 170 | desc->chip->set_affinity(irq, cpumask_of(cpu)); |
171 | spin_unlock_irq(&desc->lock); | 171 | raw_spin_unlock_irq(&desc->lock); |
172 | } | 172 | } |
173 | 173 | ||
174 | /* | 174 | /* |
diff --git a/arch/arm/mach-ns9xxx/irq.c b/arch/arm/mach-ns9xxx/irq.c index feb0e54a91de..038f24d47023 100644 --- a/arch/arm/mach-ns9xxx/irq.c +++ b/arch/arm/mach-ns9xxx/irq.c | |||
@@ -66,7 +66,7 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc) | |||
66 | struct irqaction *action; | 66 | struct irqaction *action; |
67 | irqreturn_t action_ret; | 67 | irqreturn_t action_ret; |
68 | 68 | ||
69 | spin_lock(&desc->lock); | 69 | raw_spin_lock(&desc->lock); |
70 | 70 | ||
71 | BUG_ON(desc->status & IRQ_INPROGRESS); | 71 | BUG_ON(desc->status & IRQ_INPROGRESS); |
72 | 72 | ||
@@ -78,7 +78,7 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc) | |||
78 | goto out_mask; | 78 | goto out_mask; |
79 | 79 | ||
80 | desc->status |= IRQ_INPROGRESS; | 80 | desc->status |= IRQ_INPROGRESS; |
81 | spin_unlock(&desc->lock); | 81 | raw_spin_unlock(&desc->lock); |
82 | 82 | ||
83 | action_ret = handle_IRQ_event(irq, action); | 83 | action_ret = handle_IRQ_event(irq, action); |
84 | 84 | ||
@@ -87,7 +87,7 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc) | |||
87 | * Maybe this function should go to kernel/irq/chip.c? */ | 87 | * Maybe this function should go to kernel/irq/chip.c? */ |
88 | note_interrupt(irq, desc, action_ret); | 88 | note_interrupt(irq, desc, action_ret); |
89 | 89 | ||
90 | spin_lock(&desc->lock); | 90 | raw_spin_lock(&desc->lock); |
91 | desc->status &= ~IRQ_INPROGRESS; | 91 | desc->status &= ~IRQ_INPROGRESS; |
92 | 92 | ||
93 | if (desc->status & IRQ_DISABLED) | 93 | if (desc->status & IRQ_DISABLED) |
@@ -97,7 +97,7 @@ out_mask: | |||
97 | /* ack unconditionally to unmask lower prio irqs */ | 97 | /* ack unconditionally to unmask lower prio irqs */ |
98 | desc->chip->ack(irq); | 98 | desc->chip->ack(irq); |
99 | 99 | ||
100 | spin_unlock(&desc->lock); | 100 | raw_spin_unlock(&desc->lock); |
101 | } | 101 | } |
102 | #define handle_irq handle_prio_irq | 102 | #define handle_irq handle_prio_irq |
103 | #endif | 103 | #endif |
diff --git a/arch/avr32/kernel/irq.c b/arch/avr32/kernel/irq.c index 9f572229d318..c8ab63e3a675 100644 --- a/arch/avr32/kernel/irq.c +++ b/arch/avr32/kernel/irq.c | |||
@@ -51,7 +51,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
51 | } | 51 | } |
52 | 52 | ||
53 | if (i < NR_IRQS) { | 53 | if (i < NR_IRQS) { |
54 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 54 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
55 | action = irq_desc[i].action; | 55 | action = irq_desc[i].action; |
56 | if (!action) | 56 | if (!action) |
57 | goto unlock; | 57 | goto unlock; |
@@ -66,7 +66,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
66 | 66 | ||
67 | seq_putc(p, '\n'); | 67 | seq_putc(p, '\n'); |
68 | unlock: | 68 | unlock: |
69 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 69 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
70 | } | 70 | } |
71 | 71 | ||
72 | return 0; | 72 | return 0; |
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index db9f9c91f11f..64cff54a8a58 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c | |||
@@ -23,7 +23,7 @@ void ack_bad_irq(unsigned int irq) | |||
23 | 23 | ||
24 | static struct irq_desc bad_irq_desc = { | 24 | static struct irq_desc bad_irq_desc = { |
25 | .handle_irq = handle_bad_irq, | 25 | .handle_irq = handle_bad_irq, |
26 | .lock = __SPIN_LOCK_UNLOCKED(irq_desc->lock), | 26 | .lock = __RAW_SPIN_LOCK_UNLOCKED(bad_irq_desc.lock), |
27 | }; | 27 | }; |
28 | 28 | ||
29 | #ifdef CONFIG_CPUMASK_OFFSTACK | 29 | #ifdef CONFIG_CPUMASK_OFFSTACK |
@@ -39,7 +39,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
39 | unsigned long flags; | 39 | unsigned long flags; |
40 | 40 | ||
41 | if (i < NR_IRQS) { | 41 | if (i < NR_IRQS) { |
42 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 42 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
43 | action = irq_desc[i].action; | 43 | action = irq_desc[i].action; |
44 | if (!action) | 44 | if (!action) |
45 | goto skip; | 45 | goto skip; |
@@ -53,7 +53,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
53 | 53 | ||
54 | seq_putc(p, '\n'); | 54 | seq_putc(p, '\n'); |
55 | skip: | 55 | skip: |
56 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 56 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
57 | } else if (i == NR_IRQS) { | 57 | } else if (i == NR_IRQS) { |
58 | seq_printf(p, "NMI: "); | 58 | seq_printf(p, "NMI: "); |
59 | for_each_online_cpu(j) | 59 | for_each_online_cpu(j) |
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 78cb3d38f899..9636bace00e8 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -1140,7 +1140,7 @@ void show_regs(struct pt_regs *fp) | |||
1140 | if (fp->ipend & ~0x3F) { | 1140 | if (fp->ipend & ~0x3F) { |
1141 | for (i = 0; i < (NR_IRQS - 1); i++) { | 1141 | for (i = 0; i < (NR_IRQS - 1); i++) { |
1142 | if (!in_atomic) | 1142 | if (!in_atomic) |
1143 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 1143 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
1144 | 1144 | ||
1145 | action = irq_desc[i].action; | 1145 | action = irq_desc[i].action; |
1146 | if (!action) | 1146 | if (!action) |
@@ -1155,7 +1155,7 @@ void show_regs(struct pt_regs *fp) | |||
1155 | verbose_printk("\n"); | 1155 | verbose_printk("\n"); |
1156 | unlock: | 1156 | unlock: |
1157 | if (!in_atomic) | 1157 | if (!in_atomic) |
1158 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 1158 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
1159 | } | 1159 | } |
1160 | } | 1160 | } |
1161 | 1161 | ||
diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c index 0ca7d9892cc6..b5ce0724a88f 100644 --- a/arch/cris/kernel/irq.c +++ b/arch/cris/kernel/irq.c | |||
@@ -52,7 +52,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
52 | } | 52 | } |
53 | 53 | ||
54 | if (i < NR_IRQS) { | 54 | if (i < NR_IRQS) { |
55 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 55 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
56 | action = irq_desc[i].action; | 56 | action = irq_desc[i].action; |
57 | if (!action) | 57 | if (!action) |
58 | goto skip; | 58 | goto skip; |
@@ -71,7 +71,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
71 | 71 | ||
72 | seq_putc(p, '\n'); | 72 | seq_putc(p, '\n'); |
73 | skip: | 73 | skip: |
74 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 74 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
75 | } | 75 | } |
76 | return 0; | 76 | return 0; |
77 | } | 77 | } |
diff --git a/arch/frv/kernel/irq.c b/arch/frv/kernel/irq.c index af3e824b91b3..62d1aba615dc 100644 --- a/arch/frv/kernel/irq.c +++ b/arch/frv/kernel/irq.c | |||
@@ -69,7 +69,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
69 | } | 69 | } |
70 | 70 | ||
71 | if (i < NR_IRQS) { | 71 | if (i < NR_IRQS) { |
72 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 72 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
73 | action = irq_desc[i].action; | 73 | action = irq_desc[i].action; |
74 | if (action) { | 74 | if (action) { |
75 | seq_printf(p, "%3d: ", i); | 75 | seq_printf(p, "%3d: ", i); |
@@ -85,7 +85,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
85 | seq_putc(p, '\n'); | 85 | seq_putc(p, '\n'); |
86 | } | 86 | } |
87 | 87 | ||
88 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 88 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
89 | } else if (i == NR_IRQS) { | 89 | } else if (i == NR_IRQS) { |
90 | seq_printf(p, "Err: %10u\n", atomic_read(&irq_err_count)); | 90 | seq_printf(p, "Err: %10u\n", atomic_read(&irq_err_count)); |
91 | } | 91 | } |
diff --git a/arch/h8300/kernel/irq.c b/arch/h8300/kernel/irq.c index 5c913d472119..c25dc2c2b1da 100644 --- a/arch/h8300/kernel/irq.c +++ b/arch/h8300/kernel/irq.c | |||
@@ -186,7 +186,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
186 | seq_puts(p, " CPU0"); | 186 | seq_puts(p, " CPU0"); |
187 | 187 | ||
188 | if (i < NR_IRQS) { | 188 | if (i < NR_IRQS) { |
189 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 189 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
190 | action = irq_desc[i].action; | 190 | action = irq_desc[i].action; |
191 | if (!action) | 191 | if (!action) |
192 | goto unlock; | 192 | goto unlock; |
@@ -200,7 +200,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
200 | seq_printf(p, ", %s", action->name); | 200 | seq_printf(p, ", %s", action->name); |
201 | seq_putc(p, '\n'); | 201 | seq_putc(p, '\n'); |
202 | unlock: | 202 | unlock: |
203 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 203 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
204 | } | 204 | } |
205 | return 0; | 205 | return 0; |
206 | } | 206 | } |
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index dab4d393908c..95ac77aeae9b 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c | |||
@@ -793,12 +793,12 @@ iosapic_register_intr (unsigned int gsi, | |||
793 | goto unlock_iosapic_lock; | 793 | goto unlock_iosapic_lock; |
794 | } | 794 | } |
795 | 795 | ||
796 | spin_lock(&irq_desc[irq].lock); | 796 | raw_spin_lock(&irq_desc[irq].lock); |
797 | dest = get_target_cpu(gsi, irq); | 797 | dest = get_target_cpu(gsi, irq); |
798 | dmode = choose_dmode(); | 798 | dmode = choose_dmode(); |
799 | err = register_intr(gsi, irq, dmode, polarity, trigger); | 799 | err = register_intr(gsi, irq, dmode, polarity, trigger); |
800 | if (err < 0) { | 800 | if (err < 0) { |
801 | spin_unlock(&irq_desc[irq].lock); | 801 | raw_spin_unlock(&irq_desc[irq].lock); |
802 | irq = err; | 802 | irq = err; |
803 | goto unlock_iosapic_lock; | 803 | goto unlock_iosapic_lock; |
804 | } | 804 | } |
@@ -817,7 +817,7 @@ iosapic_register_intr (unsigned int gsi, | |||
817 | (polarity == IOSAPIC_POL_HIGH ? "high" : "low"), | 817 | (polarity == IOSAPIC_POL_HIGH ? "high" : "low"), |
818 | cpu_logical_id(dest), dest, irq_to_vector(irq)); | 818 | cpu_logical_id(dest), dest, irq_to_vector(irq)); |
819 | 819 | ||
820 | spin_unlock(&irq_desc[irq].lock); | 820 | raw_spin_unlock(&irq_desc[irq].lock); |
821 | unlock_iosapic_lock: | 821 | unlock_iosapic_lock: |
822 | spin_unlock_irqrestore(&iosapic_lock, flags); | 822 | spin_unlock_irqrestore(&iosapic_lock, flags); |
823 | return irq; | 823 | return irq; |
diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c index 7d8951229e7c..94ee9d067cbd 100644 --- a/arch/ia64/kernel/irq.c +++ b/arch/ia64/kernel/irq.c | |||
@@ -71,7 +71,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
71 | } | 71 | } |
72 | 72 | ||
73 | if (i < NR_IRQS) { | 73 | if (i < NR_IRQS) { |
74 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 74 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
75 | action = irq_desc[i].action; | 75 | action = irq_desc[i].action; |
76 | if (!action) | 76 | if (!action) |
77 | goto skip; | 77 | goto skip; |
@@ -91,7 +91,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
91 | 91 | ||
92 | seq_putc(p, '\n'); | 92 | seq_putc(p, '\n'); |
93 | skip: | 93 | skip: |
94 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 94 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
95 | } else if (i == NR_IRQS) | 95 | } else if (i == NR_IRQS) |
96 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); | 96 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); |
97 | return 0; | 97 | return 0; |
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index dd9d7b54f1a1..70e4bad23432 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
@@ -345,7 +345,7 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id) | |||
345 | 345 | ||
346 | desc = irq_desc + irq; | 346 | desc = irq_desc + irq; |
347 | cfg = irq_cfg + irq; | 347 | cfg = irq_cfg + irq; |
348 | spin_lock(&desc->lock); | 348 | raw_spin_lock(&desc->lock); |
349 | if (!cfg->move_cleanup_count) | 349 | if (!cfg->move_cleanup_count) |
350 | goto unlock; | 350 | goto unlock; |
351 | 351 | ||
@@ -358,7 +358,7 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id) | |||
358 | spin_unlock_irqrestore(&vector_lock, flags); | 358 | spin_unlock_irqrestore(&vector_lock, flags); |
359 | cfg->move_cleanup_count--; | 359 | cfg->move_cleanup_count--; |
360 | unlock: | 360 | unlock: |
361 | spin_unlock(&desc->lock); | 361 | raw_spin_unlock(&desc->lock); |
362 | } | 362 | } |
363 | return IRQ_HANDLED; | 363 | return IRQ_HANDLED; |
364 | } | 364 | } |
diff --git a/arch/m32r/kernel/irq.c b/arch/m32r/kernel/irq.c index 8dfd31e87c4c..3c71f776872c 100644 --- a/arch/m32r/kernel/irq.c +++ b/arch/m32r/kernel/irq.c | |||
@@ -40,7 +40,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
40 | } | 40 | } |
41 | 41 | ||
42 | if (i < NR_IRQS) { | 42 | if (i < NR_IRQS) { |
43 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 43 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
44 | action = irq_desc[i].action; | 44 | action = irq_desc[i].action; |
45 | if (!action) | 45 | if (!action) |
46 | goto skip; | 46 | goto skip; |
@@ -59,7 +59,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
59 | 59 | ||
60 | seq_putc(p, '\n'); | 60 | seq_putc(p, '\n'); |
61 | skip: | 61 | skip: |
62 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 62 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
63 | } | 63 | } |
64 | return 0; | 64 | return 0; |
65 | } | 65 | } |
diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c index 7d5ddd62d4d2..0f06034d1fe0 100644 --- a/arch/microblaze/kernel/irq.c +++ b/arch/microblaze/kernel/irq.c | |||
@@ -68,7 +68,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
68 | } | 68 | } |
69 | 69 | ||
70 | if (i < nr_irq) { | 70 | if (i < nr_irq) { |
71 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 71 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
72 | action = irq_desc[i].action; | 72 | action = irq_desc[i].action; |
73 | if (!action) | 73 | if (!action) |
74 | goto skip; | 74 | goto skip; |
@@ -89,7 +89,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
89 | 89 | ||
90 | seq_putc(p, '\n'); | 90 | seq_putc(p, '\n'); |
91 | skip: | 91 | skip: |
92 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 92 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
93 | } | 93 | } |
94 | return 0; | 94 | return 0; |
95 | } | 95 | } |
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 7b845ba9dff4..8b0b4181219f 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c | |||
@@ -99,7 +99,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
99 | } | 99 | } |
100 | 100 | ||
101 | if (i < NR_IRQS) { | 101 | if (i < NR_IRQS) { |
102 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 102 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
103 | action = irq_desc[i].action; | 103 | action = irq_desc[i].action; |
104 | if (!action) | 104 | if (!action) |
105 | goto skip; | 105 | goto skip; |
@@ -118,7 +118,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
118 | 118 | ||
119 | seq_putc(p, '\n'); | 119 | seq_putc(p, '\n'); |
120 | skip: | 120 | skip: |
121 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 121 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
122 | } else if (i == NR_IRQS) { | 122 | } else if (i == NR_IRQS) { |
123 | seq_putc(p, '\n'); | 123 | seq_putc(p, '\n'); |
124 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); | 124 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); |
diff --git a/arch/mips/vr41xx/common/icu.c b/arch/mips/vr41xx/common/icu.c index 6d39e222b170..6153b6a05ccf 100644 --- a/arch/mips/vr41xx/common/icu.c +++ b/arch/mips/vr41xx/common/icu.c | |||
@@ -159,9 +159,9 @@ void vr41xx_enable_piuint(uint16_t mask) | |||
159 | 159 | ||
160 | if (current_cpu_type() == CPU_VR4111 || | 160 | if (current_cpu_type() == CPU_VR4111 || |
161 | current_cpu_type() == CPU_VR4121) { | 161 | current_cpu_type() == CPU_VR4121) { |
162 | spin_lock_irqsave(&desc->lock, flags); | 162 | raw_spin_lock_irqsave(&desc->lock, flags); |
163 | icu1_set(MPIUINTREG, mask); | 163 | icu1_set(MPIUINTREG, mask); |
164 | spin_unlock_irqrestore(&desc->lock, flags); | 164 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
165 | } | 165 | } |
166 | } | 166 | } |
167 | 167 | ||
@@ -174,9 +174,9 @@ void vr41xx_disable_piuint(uint16_t mask) | |||
174 | 174 | ||
175 | if (current_cpu_type() == CPU_VR4111 || | 175 | if (current_cpu_type() == CPU_VR4111 || |
176 | current_cpu_type() == CPU_VR4121) { | 176 | current_cpu_type() == CPU_VR4121) { |
177 | spin_lock_irqsave(&desc->lock, flags); | 177 | raw_spin_lock_irqsave(&desc->lock, flags); |
178 | icu1_clear(MPIUINTREG, mask); | 178 | icu1_clear(MPIUINTREG, mask); |
179 | spin_unlock_irqrestore(&desc->lock, flags); | 179 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
180 | } | 180 | } |
181 | } | 181 | } |
182 | 182 | ||
@@ -189,9 +189,9 @@ void vr41xx_enable_aiuint(uint16_t mask) | |||
189 | 189 | ||
190 | if (current_cpu_type() == CPU_VR4111 || | 190 | if (current_cpu_type() == CPU_VR4111 || |
191 | current_cpu_type() == CPU_VR4121) { | 191 | current_cpu_type() == CPU_VR4121) { |
192 | spin_lock_irqsave(&desc->lock, flags); | 192 | raw_spin_lock_irqsave(&desc->lock, flags); |
193 | icu1_set(MAIUINTREG, mask); | 193 | icu1_set(MAIUINTREG, mask); |
194 | spin_unlock_irqrestore(&desc->lock, flags); | 194 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
195 | } | 195 | } |
196 | } | 196 | } |
197 | 197 | ||
@@ -204,9 +204,9 @@ void vr41xx_disable_aiuint(uint16_t mask) | |||
204 | 204 | ||
205 | if (current_cpu_type() == CPU_VR4111 || | 205 | if (current_cpu_type() == CPU_VR4111 || |
206 | current_cpu_type() == CPU_VR4121) { | 206 | current_cpu_type() == CPU_VR4121) { |
207 | spin_lock_irqsave(&desc->lock, flags); | 207 | raw_spin_lock_irqsave(&desc->lock, flags); |
208 | icu1_clear(MAIUINTREG, mask); | 208 | icu1_clear(MAIUINTREG, mask); |
209 | spin_unlock_irqrestore(&desc->lock, flags); | 209 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
210 | } | 210 | } |
211 | } | 211 | } |
212 | 212 | ||
@@ -219,9 +219,9 @@ void vr41xx_enable_kiuint(uint16_t mask) | |||
219 | 219 | ||
220 | if (current_cpu_type() == CPU_VR4111 || | 220 | if (current_cpu_type() == CPU_VR4111 || |
221 | current_cpu_type() == CPU_VR4121) { | 221 | current_cpu_type() == CPU_VR4121) { |
222 | spin_lock_irqsave(&desc->lock, flags); | 222 | raw_spin_lock_irqsave(&desc->lock, flags); |
223 | icu1_set(MKIUINTREG, mask); | 223 | icu1_set(MKIUINTREG, mask); |
224 | spin_unlock_irqrestore(&desc->lock, flags); | 224 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
225 | } | 225 | } |
226 | } | 226 | } |
227 | 227 | ||
@@ -234,9 +234,9 @@ void vr41xx_disable_kiuint(uint16_t mask) | |||
234 | 234 | ||
235 | if (current_cpu_type() == CPU_VR4111 || | 235 | if (current_cpu_type() == CPU_VR4111 || |
236 | current_cpu_type() == CPU_VR4121) { | 236 | current_cpu_type() == CPU_VR4121) { |
237 | spin_lock_irqsave(&desc->lock, flags); | 237 | raw_spin_lock_irqsave(&desc->lock, flags); |
238 | icu1_clear(MKIUINTREG, mask); | 238 | icu1_clear(MKIUINTREG, mask); |
239 | spin_unlock_irqrestore(&desc->lock, flags); | 239 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
240 | } | 240 | } |
241 | } | 241 | } |
242 | 242 | ||
@@ -247,9 +247,9 @@ void vr41xx_enable_macint(uint16_t mask) | |||
247 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; | 247 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; |
248 | unsigned long flags; | 248 | unsigned long flags; |
249 | 249 | ||
250 | spin_lock_irqsave(&desc->lock, flags); | 250 | raw_spin_lock_irqsave(&desc->lock, flags); |
251 | icu1_set(MMACINTREG, mask); | 251 | icu1_set(MMACINTREG, mask); |
252 | spin_unlock_irqrestore(&desc->lock, flags); | 252 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
253 | } | 253 | } |
254 | 254 | ||
255 | EXPORT_SYMBOL(vr41xx_enable_macint); | 255 | EXPORT_SYMBOL(vr41xx_enable_macint); |
@@ -259,9 +259,9 @@ void vr41xx_disable_macint(uint16_t mask) | |||
259 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; | 259 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; |
260 | unsigned long flags; | 260 | unsigned long flags; |
261 | 261 | ||
262 | spin_lock_irqsave(&desc->lock, flags); | 262 | raw_spin_lock_irqsave(&desc->lock, flags); |
263 | icu1_clear(MMACINTREG, mask); | 263 | icu1_clear(MMACINTREG, mask); |
264 | spin_unlock_irqrestore(&desc->lock, flags); | 264 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
265 | } | 265 | } |
266 | 266 | ||
267 | EXPORT_SYMBOL(vr41xx_disable_macint); | 267 | EXPORT_SYMBOL(vr41xx_disable_macint); |
@@ -271,9 +271,9 @@ void vr41xx_enable_dsiuint(uint16_t mask) | |||
271 | struct irq_desc *desc = irq_desc + DSIU_IRQ; | 271 | struct irq_desc *desc = irq_desc + DSIU_IRQ; |
272 | unsigned long flags; | 272 | unsigned long flags; |
273 | 273 | ||
274 | spin_lock_irqsave(&desc->lock, flags); | 274 | raw_spin_lock_irqsave(&desc->lock, flags); |
275 | icu1_set(MDSIUINTREG, mask); | 275 | icu1_set(MDSIUINTREG, mask); |
276 | spin_unlock_irqrestore(&desc->lock, flags); | 276 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
277 | } | 277 | } |
278 | 278 | ||
279 | EXPORT_SYMBOL(vr41xx_enable_dsiuint); | 279 | EXPORT_SYMBOL(vr41xx_enable_dsiuint); |
@@ -283,9 +283,9 @@ void vr41xx_disable_dsiuint(uint16_t mask) | |||
283 | struct irq_desc *desc = irq_desc + DSIU_IRQ; | 283 | struct irq_desc *desc = irq_desc + DSIU_IRQ; |
284 | unsigned long flags; | 284 | unsigned long flags; |
285 | 285 | ||
286 | spin_lock_irqsave(&desc->lock, flags); | 286 | raw_spin_lock_irqsave(&desc->lock, flags); |
287 | icu1_clear(MDSIUINTREG, mask); | 287 | icu1_clear(MDSIUINTREG, mask); |
288 | spin_unlock_irqrestore(&desc->lock, flags); | 288 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
289 | } | 289 | } |
290 | 290 | ||
291 | EXPORT_SYMBOL(vr41xx_disable_dsiuint); | 291 | EXPORT_SYMBOL(vr41xx_disable_dsiuint); |
@@ -295,9 +295,9 @@ void vr41xx_enable_firint(uint16_t mask) | |||
295 | struct irq_desc *desc = irq_desc + FIR_IRQ; | 295 | struct irq_desc *desc = irq_desc + FIR_IRQ; |
296 | unsigned long flags; | 296 | unsigned long flags; |
297 | 297 | ||
298 | spin_lock_irqsave(&desc->lock, flags); | 298 | raw_spin_lock_irqsave(&desc->lock, flags); |
299 | icu2_set(MFIRINTREG, mask); | 299 | icu2_set(MFIRINTREG, mask); |
300 | spin_unlock_irqrestore(&desc->lock, flags); | 300 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
301 | } | 301 | } |
302 | 302 | ||
303 | EXPORT_SYMBOL(vr41xx_enable_firint); | 303 | EXPORT_SYMBOL(vr41xx_enable_firint); |
@@ -307,9 +307,9 @@ void vr41xx_disable_firint(uint16_t mask) | |||
307 | struct irq_desc *desc = irq_desc + FIR_IRQ; | 307 | struct irq_desc *desc = irq_desc + FIR_IRQ; |
308 | unsigned long flags; | 308 | unsigned long flags; |
309 | 309 | ||
310 | spin_lock_irqsave(&desc->lock, flags); | 310 | raw_spin_lock_irqsave(&desc->lock, flags); |
311 | icu2_clear(MFIRINTREG, mask); | 311 | icu2_clear(MFIRINTREG, mask); |
312 | spin_unlock_irqrestore(&desc->lock, flags); | 312 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
313 | } | 313 | } |
314 | 314 | ||
315 | EXPORT_SYMBOL(vr41xx_disable_firint); | 315 | EXPORT_SYMBOL(vr41xx_disable_firint); |
@@ -322,9 +322,9 @@ void vr41xx_enable_pciint(void) | |||
322 | if (current_cpu_type() == CPU_VR4122 || | 322 | if (current_cpu_type() == CPU_VR4122 || |
323 | current_cpu_type() == CPU_VR4131 || | 323 | current_cpu_type() == CPU_VR4131 || |
324 | current_cpu_type() == CPU_VR4133) { | 324 | current_cpu_type() == CPU_VR4133) { |
325 | spin_lock_irqsave(&desc->lock, flags); | 325 | raw_spin_lock_irqsave(&desc->lock, flags); |
326 | icu2_write(MPCIINTREG, PCIINT0); | 326 | icu2_write(MPCIINTREG, PCIINT0); |
327 | spin_unlock_irqrestore(&desc->lock, flags); | 327 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
328 | } | 328 | } |
329 | } | 329 | } |
330 | 330 | ||
@@ -338,9 +338,9 @@ void vr41xx_disable_pciint(void) | |||
338 | if (current_cpu_type() == CPU_VR4122 || | 338 | if (current_cpu_type() == CPU_VR4122 || |
339 | current_cpu_type() == CPU_VR4131 || | 339 | current_cpu_type() == CPU_VR4131 || |
340 | current_cpu_type() == CPU_VR4133) { | 340 | current_cpu_type() == CPU_VR4133) { |
341 | spin_lock_irqsave(&desc->lock, flags); | 341 | raw_spin_lock_irqsave(&desc->lock, flags); |
342 | icu2_write(MPCIINTREG, 0); | 342 | icu2_write(MPCIINTREG, 0); |
343 | spin_unlock_irqrestore(&desc->lock, flags); | 343 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
344 | } | 344 | } |
345 | } | 345 | } |
346 | 346 | ||
@@ -354,9 +354,9 @@ void vr41xx_enable_scuint(void) | |||
354 | if (current_cpu_type() == CPU_VR4122 || | 354 | if (current_cpu_type() == CPU_VR4122 || |
355 | current_cpu_type() == CPU_VR4131 || | 355 | current_cpu_type() == CPU_VR4131 || |
356 | current_cpu_type() == CPU_VR4133) { | 356 | current_cpu_type() == CPU_VR4133) { |
357 | spin_lock_irqsave(&desc->lock, flags); | 357 | raw_spin_lock_irqsave(&desc->lock, flags); |
358 | icu2_write(MSCUINTREG, SCUINT0); | 358 | icu2_write(MSCUINTREG, SCUINT0); |
359 | spin_unlock_irqrestore(&desc->lock, flags); | 359 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
360 | } | 360 | } |
361 | } | 361 | } |
362 | 362 | ||
@@ -370,9 +370,9 @@ void vr41xx_disable_scuint(void) | |||
370 | if (current_cpu_type() == CPU_VR4122 || | 370 | if (current_cpu_type() == CPU_VR4122 || |
371 | current_cpu_type() == CPU_VR4131 || | 371 | current_cpu_type() == CPU_VR4131 || |
372 | current_cpu_type() == CPU_VR4133) { | 372 | current_cpu_type() == CPU_VR4133) { |
373 | spin_lock_irqsave(&desc->lock, flags); | 373 | raw_spin_lock_irqsave(&desc->lock, flags); |
374 | icu2_write(MSCUINTREG, 0); | 374 | icu2_write(MSCUINTREG, 0); |
375 | spin_unlock_irqrestore(&desc->lock, flags); | 375 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
376 | } | 376 | } |
377 | } | 377 | } |
378 | 378 | ||
@@ -386,9 +386,9 @@ void vr41xx_enable_csiint(uint16_t mask) | |||
386 | if (current_cpu_type() == CPU_VR4122 || | 386 | if (current_cpu_type() == CPU_VR4122 || |
387 | current_cpu_type() == CPU_VR4131 || | 387 | current_cpu_type() == CPU_VR4131 || |
388 | current_cpu_type() == CPU_VR4133) { | 388 | current_cpu_type() == CPU_VR4133) { |
389 | spin_lock_irqsave(&desc->lock, flags); | 389 | raw_spin_lock_irqsave(&desc->lock, flags); |
390 | icu2_set(MCSIINTREG, mask); | 390 | icu2_set(MCSIINTREG, mask); |
391 | spin_unlock_irqrestore(&desc->lock, flags); | 391 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
392 | } | 392 | } |
393 | } | 393 | } |
394 | 394 | ||
@@ -402,9 +402,9 @@ void vr41xx_disable_csiint(uint16_t mask) | |||
402 | if (current_cpu_type() == CPU_VR4122 || | 402 | if (current_cpu_type() == CPU_VR4122 || |
403 | current_cpu_type() == CPU_VR4131 || | 403 | current_cpu_type() == CPU_VR4131 || |
404 | current_cpu_type() == CPU_VR4133) { | 404 | current_cpu_type() == CPU_VR4133) { |
405 | spin_lock_irqsave(&desc->lock, flags); | 405 | raw_spin_lock_irqsave(&desc->lock, flags); |
406 | icu2_clear(MCSIINTREG, mask); | 406 | icu2_clear(MCSIINTREG, mask); |
407 | spin_unlock_irqrestore(&desc->lock, flags); | 407 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
408 | } | 408 | } |
409 | } | 409 | } |
410 | 410 | ||
@@ -418,9 +418,9 @@ void vr41xx_enable_bcuint(void) | |||
418 | if (current_cpu_type() == CPU_VR4122 || | 418 | if (current_cpu_type() == CPU_VR4122 || |
419 | current_cpu_type() == CPU_VR4131 || | 419 | current_cpu_type() == CPU_VR4131 || |
420 | current_cpu_type() == CPU_VR4133) { | 420 | current_cpu_type() == CPU_VR4133) { |
421 | spin_lock_irqsave(&desc->lock, flags); | 421 | raw_spin_lock_irqsave(&desc->lock, flags); |
422 | icu2_write(MBCUINTREG, BCUINTR); | 422 | icu2_write(MBCUINTREG, BCUINTR); |
423 | spin_unlock_irqrestore(&desc->lock, flags); | 423 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
424 | } | 424 | } |
425 | } | 425 | } |
426 | 426 | ||
@@ -434,9 +434,9 @@ void vr41xx_disable_bcuint(void) | |||
434 | if (current_cpu_type() == CPU_VR4122 || | 434 | if (current_cpu_type() == CPU_VR4122 || |
435 | current_cpu_type() == CPU_VR4131 || | 435 | current_cpu_type() == CPU_VR4131 || |
436 | current_cpu_type() == CPU_VR4133) { | 436 | current_cpu_type() == CPU_VR4133) { |
437 | spin_lock_irqsave(&desc->lock, flags); | 437 | raw_spin_lock_irqsave(&desc->lock, flags); |
438 | icu2_write(MBCUINTREG, 0); | 438 | icu2_write(MBCUINTREG, 0); |
439 | spin_unlock_irqrestore(&desc->lock, flags); | 439 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
440 | } | 440 | } |
441 | } | 441 | } |
442 | 442 | ||
@@ -486,7 +486,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | |||
486 | 486 | ||
487 | pin = SYSINT1_IRQ_TO_PIN(irq); | 487 | pin = SYSINT1_IRQ_TO_PIN(irq); |
488 | 488 | ||
489 | spin_lock_irq(&desc->lock); | 489 | raw_spin_lock_irq(&desc->lock); |
490 | 490 | ||
491 | intassign0 = icu1_read(INTASSIGN0); | 491 | intassign0 = icu1_read(INTASSIGN0); |
492 | intassign1 = icu1_read(INTASSIGN1); | 492 | intassign1 = icu1_read(INTASSIGN1); |
@@ -525,7 +525,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | |||
525 | intassign1 |= (uint16_t)assign << 9; | 525 | intassign1 |= (uint16_t)assign << 9; |
526 | break; | 526 | break; |
527 | default: | 527 | default: |
528 | spin_unlock_irq(&desc->lock); | 528 | raw_spin_unlock_irq(&desc->lock); |
529 | return -EINVAL; | 529 | return -EINVAL; |
530 | } | 530 | } |
531 | 531 | ||
@@ -533,7 +533,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | |||
533 | icu1_write(INTASSIGN0, intassign0); | 533 | icu1_write(INTASSIGN0, intassign0); |
534 | icu1_write(INTASSIGN1, intassign1); | 534 | icu1_write(INTASSIGN1, intassign1); |
535 | 535 | ||
536 | spin_unlock_irq(&desc->lock); | 536 | raw_spin_unlock_irq(&desc->lock); |
537 | 537 | ||
538 | return 0; | 538 | return 0; |
539 | } | 539 | } |
@@ -546,7 +546,7 @@ static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) | |||
546 | 546 | ||
547 | pin = SYSINT2_IRQ_TO_PIN(irq); | 547 | pin = SYSINT2_IRQ_TO_PIN(irq); |
548 | 548 | ||
549 | spin_lock_irq(&desc->lock); | 549 | raw_spin_lock_irq(&desc->lock); |
550 | 550 | ||
551 | intassign2 = icu1_read(INTASSIGN2); | 551 | intassign2 = icu1_read(INTASSIGN2); |
552 | intassign3 = icu1_read(INTASSIGN3); | 552 | intassign3 = icu1_read(INTASSIGN3); |
@@ -593,7 +593,7 @@ static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) | |||
593 | intassign3 |= (uint16_t)assign << 12; | 593 | intassign3 |= (uint16_t)assign << 12; |
594 | break; | 594 | break; |
595 | default: | 595 | default: |
596 | spin_unlock_irq(&desc->lock); | 596 | raw_spin_unlock_irq(&desc->lock); |
597 | return -EINVAL; | 597 | return -EINVAL; |
598 | } | 598 | } |
599 | 599 | ||
@@ -601,7 +601,7 @@ static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) | |||
601 | icu1_write(INTASSIGN2, intassign2); | 601 | icu1_write(INTASSIGN2, intassign2); |
602 | icu1_write(INTASSIGN3, intassign3); | 602 | icu1_write(INTASSIGN3, intassign3); |
603 | 603 | ||
604 | spin_unlock_irq(&desc->lock); | 604 | raw_spin_unlock_irq(&desc->lock); |
605 | 605 | ||
606 | return 0; | 606 | return 0; |
607 | } | 607 | } |
diff --git a/arch/mn10300/kernel/irq.c b/arch/mn10300/kernel/irq.c index 4c3c58ef5cda..e2d5ed891f37 100644 --- a/arch/mn10300/kernel/irq.c +++ b/arch/mn10300/kernel/irq.c | |||
@@ -215,7 +215,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
215 | 215 | ||
216 | /* display information rows, one per active CPU */ | 216 | /* display information rows, one per active CPU */ |
217 | case 1 ... NR_IRQS - 1: | 217 | case 1 ... NR_IRQS - 1: |
218 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 218 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
219 | 219 | ||
220 | action = irq_desc[i].action; | 220 | action = irq_desc[i].action; |
221 | if (action) { | 221 | if (action) { |
@@ -235,7 +235,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
235 | seq_putc(p, '\n'); | 235 | seq_putc(p, '\n'); |
236 | } | 236 | } |
237 | 237 | ||
238 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 238 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
239 | break; | 239 | break; |
240 | 240 | ||
241 | /* polish off with NMI and error counters */ | 241 | /* polish off with NMI and error counters */ |
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c index 2e7610cb33d5..f47465e8d040 100644 --- a/arch/parisc/kernel/irq.c +++ b/arch/parisc/kernel/irq.c | |||
@@ -180,7 +180,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
180 | if (i < NR_IRQS) { | 180 | if (i < NR_IRQS) { |
181 | struct irqaction *action; | 181 | struct irqaction *action; |
182 | 182 | ||
183 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 183 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
184 | action = irq_desc[i].action; | 184 | action = irq_desc[i].action; |
185 | if (!action) | 185 | if (!action) |
186 | goto skip; | 186 | goto skip; |
@@ -224,7 +224,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
224 | 224 | ||
225 | seq_putc(p, '\n'); | 225 | seq_putc(p, '\n'); |
226 | skip: | 226 | skip: |
227 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 227 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
228 | } | 228 | } |
229 | 229 | ||
230 | return 0; | 230 | return 0; |
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index f6dca4f4b295..9040330b0530 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -210,7 +210,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
210 | if (!desc) | 210 | if (!desc) |
211 | return 0; | 211 | return 0; |
212 | 212 | ||
213 | spin_lock_irqsave(&desc->lock, flags); | 213 | raw_spin_lock_irqsave(&desc->lock, flags); |
214 | 214 | ||
215 | action = desc->action; | 215 | action = desc->action; |
216 | if (!action || !action->handler) | 216 | if (!action || !action->handler) |
@@ -237,7 +237,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
237 | seq_putc(p, '\n'); | 237 | seq_putc(p, '\n'); |
238 | 238 | ||
239 | skip: | 239 | skip: |
240 | spin_unlock_irqrestore(&desc->lock, flags); | 240 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
241 | 241 | ||
242 | return 0; | 242 | return 0; |
243 | } | 243 | } |
@@ -1112,7 +1112,7 @@ static int virq_debug_show(struct seq_file *m, void *private) | |||
1112 | if (!desc) | 1112 | if (!desc) |
1113 | continue; | 1113 | continue; |
1114 | 1114 | ||
1115 | spin_lock_irqsave(&desc->lock, flags); | 1115 | raw_spin_lock_irqsave(&desc->lock, flags); |
1116 | 1116 | ||
1117 | if (desc->action && desc->action->handler) { | 1117 | if (desc->action && desc->action->handler) { |
1118 | seq_printf(m, "%5d ", i); | 1118 | seq_printf(m, "%5d ", i); |
@@ -1131,7 +1131,7 @@ static int virq_debug_show(struct seq_file *m, void *private) | |||
1131 | seq_printf(m, "%s\n", p); | 1131 | seq_printf(m, "%s\n", p); |
1132 | } | 1132 | } |
1133 | 1133 | ||
1134 | spin_unlock_irqrestore(&desc->lock, flags); | 1134 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
1135 | } | 1135 | } |
1136 | 1136 | ||
1137 | return 0; | 1137 | return 0; |
diff --git a/arch/powerpc/platforms/52xx/media5200.c b/arch/powerpc/platforms/52xx/media5200.c index cc0c854291d7..0bac3a3dbecf 100644 --- a/arch/powerpc/platforms/52xx/media5200.c +++ b/arch/powerpc/platforms/52xx/media5200.c | |||
@@ -86,9 +86,9 @@ void media5200_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
86 | u32 status, enable; | 86 | u32 status, enable; |
87 | 87 | ||
88 | /* Mask off the cascaded IRQ */ | 88 | /* Mask off the cascaded IRQ */ |
89 | spin_lock(&desc->lock); | 89 | raw_spin_lock(&desc->lock); |
90 | desc->chip->mask(virq); | 90 | desc->chip->mask(virq); |
91 | spin_unlock(&desc->lock); | 91 | raw_spin_unlock(&desc->lock); |
92 | 92 | ||
93 | /* Ask the FPGA for IRQ status. If 'val' is 0, then no irqs | 93 | /* Ask the FPGA for IRQ status. If 'val' is 0, then no irqs |
94 | * are pending. 'ffs()' is 1 based */ | 94 | * are pending. 'ffs()' is 1 based */ |
@@ -104,11 +104,11 @@ void media5200_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
104 | } | 104 | } |
105 | 105 | ||
106 | /* Processing done; can reenable the cascade now */ | 106 | /* Processing done; can reenable the cascade now */ |
107 | spin_lock(&desc->lock); | 107 | raw_spin_lock(&desc->lock); |
108 | desc->chip->ack(virq); | 108 | desc->chip->ack(virq); |
109 | if (!(desc->status & IRQ_DISABLED)) | 109 | if (!(desc->status & IRQ_DISABLED)) |
110 | desc->chip->unmask(virq); | 110 | desc->chip->unmask(virq); |
111 | spin_unlock(&desc->lock); | 111 | raw_spin_unlock(&desc->lock); |
112 | } | 112 | } |
113 | 113 | ||
114 | static int media5200_irq_map(struct irq_host *h, unsigned int virq, | 114 | static int media5200_irq_map(struct irq_host *h, unsigned int virq, |
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index 7267effc8078..6829cf7e2bda 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c | |||
@@ -237,7 +237,7 @@ extern int noirqdebug; | |||
237 | 237 | ||
238 | static void handle_iic_irq(unsigned int irq, struct irq_desc *desc) | 238 | static void handle_iic_irq(unsigned int irq, struct irq_desc *desc) |
239 | { | 239 | { |
240 | spin_lock(&desc->lock); | 240 | raw_spin_lock(&desc->lock); |
241 | 241 | ||
242 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); | 242 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); |
243 | 243 | ||
@@ -265,18 +265,18 @@ static void handle_iic_irq(unsigned int irq, struct irq_desc *desc) | |||
265 | goto out_eoi; | 265 | goto out_eoi; |
266 | 266 | ||
267 | desc->status &= ~IRQ_PENDING; | 267 | desc->status &= ~IRQ_PENDING; |
268 | spin_unlock(&desc->lock); | 268 | raw_spin_unlock(&desc->lock); |
269 | action_ret = handle_IRQ_event(irq, action); | 269 | action_ret = handle_IRQ_event(irq, action); |
270 | if (!noirqdebug) | 270 | if (!noirqdebug) |
271 | note_interrupt(irq, desc, action_ret); | 271 | note_interrupt(irq, desc, action_ret); |
272 | spin_lock(&desc->lock); | 272 | raw_spin_lock(&desc->lock); |
273 | 273 | ||
274 | } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); | 274 | } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); |
275 | 275 | ||
276 | desc->status &= ~IRQ_INPROGRESS; | 276 | desc->status &= ~IRQ_INPROGRESS; |
277 | out_eoi: | 277 | out_eoi: |
278 | desc->chip->eoi(irq); | 278 | desc->chip->eoi(irq); |
279 | spin_unlock(&desc->lock); | 279 | raw_spin_unlock(&desc->lock); |
280 | } | 280 | } |
281 | 281 | ||
282 | static int iic_host_map(struct irq_host *h, unsigned int virq, | 282 | static int iic_host_map(struct irq_host *h, unsigned int virq, |
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c index 07762259c60a..86c4b29eea89 100644 --- a/arch/powerpc/platforms/iseries/irq.c +++ b/arch/powerpc/platforms/iseries/irq.c | |||
@@ -217,9 +217,9 @@ void __init iSeries_activate_IRQs() | |||
217 | struct irq_desc *desc = irq_to_desc(irq); | 217 | struct irq_desc *desc = irq_to_desc(irq); |
218 | 218 | ||
219 | if (desc && desc->chip && desc->chip->startup) { | 219 | if (desc && desc->chip && desc->chip->startup) { |
220 | spin_lock_irqsave(&desc->lock, flags); | 220 | raw_spin_lock_irqsave(&desc->lock, flags); |
221 | desc->chip->startup(irq); | 221 | desc->chip->startup(irq); |
222 | spin_unlock_irqrestore(&desc->lock, flags); | 222 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
223 | } | 223 | } |
224 | } | 224 | } |
225 | } | 225 | } |
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index 7d01b58f3989..b9b9e11609ec 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c | |||
@@ -906,7 +906,7 @@ void xics_migrate_irqs_away(void) | |||
906 | || desc->chip->set_affinity == NULL) | 906 | || desc->chip->set_affinity == NULL) |
907 | continue; | 907 | continue; |
908 | 908 | ||
909 | spin_lock_irqsave(&desc->lock, flags); | 909 | raw_spin_lock_irqsave(&desc->lock, flags); |
910 | 910 | ||
911 | status = rtas_call(ibm_get_xive, 1, 3, xics_status, irq); | 911 | status = rtas_call(ibm_get_xive, 1, 3, xics_status, irq); |
912 | if (status) { | 912 | if (status) { |
@@ -930,7 +930,7 @@ void xics_migrate_irqs_away(void) | |||
930 | cpumask_setall(irq_to_desc(virq)->affinity); | 930 | cpumask_setall(irq_to_desc(virq)->affinity); |
931 | desc->chip->set_affinity(virq, cpu_all_mask); | 931 | desc->chip->set_affinity(virq, cpu_all_mask); |
932 | unlock: | 932 | unlock: |
933 | spin_unlock_irqrestore(&desc->lock, flags); | 933 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
934 | } | 934 | } |
935 | } | 935 | } |
936 | #endif | 936 | #endif |
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 62e50258cdef..c6e11b077108 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c | |||
@@ -173,7 +173,7 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
173 | u32 intr_index; | 173 | u32 intr_index; |
174 | u32 have_shift = 0; | 174 | u32 have_shift = 0; |
175 | 175 | ||
176 | spin_lock(&desc->lock); | 176 | raw_spin_lock(&desc->lock); |
177 | if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) { | 177 | if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) { |
178 | if (desc->chip->mask_ack) | 178 | if (desc->chip->mask_ack) |
179 | desc->chip->mask_ack(irq); | 179 | desc->chip->mask_ack(irq); |
@@ -225,7 +225,7 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
225 | break; | 225 | break; |
226 | } | 226 | } |
227 | unlock: | 227 | unlock: |
228 | spin_unlock(&desc->lock); | 228 | raw_spin_unlock(&desc->lock); |
229 | } | 229 | } |
230 | 230 | ||
231 | static int __devinit fsl_of_msi_probe(struct of_device *dev, | 231 | static int __devinit fsl_of_msi_probe(struct of_device *dev, |
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c index 7d10074b3304..6f220a913e42 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c | |||
@@ -225,12 +225,12 @@ void uic_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
225 | int src; | 225 | int src; |
226 | int subvirq; | 226 | int subvirq; |
227 | 227 | ||
228 | spin_lock(&desc->lock); | 228 | raw_spin_lock(&desc->lock); |
229 | if (desc->status & IRQ_LEVEL) | 229 | if (desc->status & IRQ_LEVEL) |
230 | desc->chip->mask(virq); | 230 | desc->chip->mask(virq); |
231 | else | 231 | else |
232 | desc->chip->mask_ack(virq); | 232 | desc->chip->mask_ack(virq); |
233 | spin_unlock(&desc->lock); | 233 | raw_spin_unlock(&desc->lock); |
234 | 234 | ||
235 | msr = mfdcr(uic->dcrbase + UIC_MSR); | 235 | msr = mfdcr(uic->dcrbase + UIC_MSR); |
236 | if (!msr) /* spurious interrupt */ | 236 | if (!msr) /* spurious interrupt */ |
@@ -242,12 +242,12 @@ void uic_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
242 | generic_handle_irq(subvirq); | 242 | generic_handle_irq(subvirq); |
243 | 243 | ||
244 | uic_irq_ret: | 244 | uic_irq_ret: |
245 | spin_lock(&desc->lock); | 245 | raw_spin_lock(&desc->lock); |
246 | if (desc->status & IRQ_LEVEL) | 246 | if (desc->status & IRQ_LEVEL) |
247 | desc->chip->ack(virq); | 247 | desc->chip->ack(virq); |
248 | if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask) | 248 | if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask) |
249 | desc->chip->unmask(virq); | 249 | desc->chip->unmask(virq); |
250 | spin_unlock(&desc->lock); | 250 | raw_spin_unlock(&desc->lock); |
251 | } | 251 | } |
252 | 252 | ||
253 | static struct uic * __init uic_init_one(struct device_node *node) | 253 | static struct uic * __init uic_init_one(struct device_node *node) |
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c index e1913f28f418..d2d41d046657 100644 --- a/arch/sh/kernel/irq.c +++ b/arch/sh/kernel/irq.c | |||
@@ -76,7 +76,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
76 | if (!desc) | 76 | if (!desc) |
77 | return 0; | 77 | return 0; |
78 | 78 | ||
79 | spin_lock_irqsave(&desc->lock, flags); | 79 | raw_spin_lock_irqsave(&desc->lock, flags); |
80 | for_each_online_cpu(j) | 80 | for_each_online_cpu(j) |
81 | any_count |= kstat_irqs_cpu(i, j); | 81 | any_count |= kstat_irqs_cpu(i, j); |
82 | action = desc->action; | 82 | action = desc->action; |
@@ -97,7 +97,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
97 | 97 | ||
98 | seq_putc(p, '\n'); | 98 | seq_putc(p, '\n'); |
99 | out: | 99 | out: |
100 | spin_unlock_irqrestore(&desc->lock, flags); | 100 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
101 | return 0; | 101 | return 0; |
102 | } | 102 | } |
103 | #endif | 103 | #endif |
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c index ce996f97855f..8d6882bb480a 100644 --- a/arch/sparc/kernel/irq_64.c +++ b/arch/sparc/kernel/irq_64.c | |||
@@ -176,7 +176,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
176 | } | 176 | } |
177 | 177 | ||
178 | if (i < NR_IRQS) { | 178 | if (i < NR_IRQS) { |
179 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 179 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
180 | action = irq_desc[i].action; | 180 | action = irq_desc[i].action; |
181 | if (!action) | 181 | if (!action) |
182 | goto skip; | 182 | goto skip; |
@@ -195,7 +195,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
195 | 195 | ||
196 | seq_putc(p, '\n'); | 196 | seq_putc(p, '\n'); |
197 | skip: | 197 | skip: |
198 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 198 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
199 | } else if (i == NR_IRQS) { | 199 | } else if (i == NR_IRQS) { |
200 | seq_printf(p, "NMI: "); | 200 | seq_printf(p, "NMI: "); |
201 | for_each_online_cpu(j) | 201 | for_each_online_cpu(j) |
@@ -785,14 +785,14 @@ void fixup_irqs(void) | |||
785 | for (irq = 0; irq < NR_IRQS; irq++) { | 785 | for (irq = 0; irq < NR_IRQS; irq++) { |
786 | unsigned long flags; | 786 | unsigned long flags; |
787 | 787 | ||
788 | spin_lock_irqsave(&irq_desc[irq].lock, flags); | 788 | raw_spin_lock_irqsave(&irq_desc[irq].lock, flags); |
789 | if (irq_desc[irq].action && | 789 | if (irq_desc[irq].action && |
790 | !(irq_desc[irq].status & IRQ_PER_CPU)) { | 790 | !(irq_desc[irq].status & IRQ_PER_CPU)) { |
791 | if (irq_desc[irq].chip->set_affinity) | 791 | if (irq_desc[irq].chip->set_affinity) |
792 | irq_desc[irq].chip->set_affinity(irq, | 792 | irq_desc[irq].chip->set_affinity(irq, |
793 | irq_desc[irq].affinity); | 793 | irq_desc[irq].affinity); |
794 | } | 794 | } |
795 | spin_unlock_irqrestore(&irq_desc[irq].lock, flags); | 795 | raw_spin_unlock_irqrestore(&irq_desc[irq].lock, flags); |
796 | } | 796 | } |
797 | 797 | ||
798 | tick_ops->disable_irq(); | 798 | tick_ops->disable_irq(); |
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index 039270b9b73b..89474ba0741e 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c | |||
@@ -34,7 +34,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
34 | } | 34 | } |
35 | 35 | ||
36 | if (i < NR_IRQS) { | 36 | if (i < NR_IRQS) { |
37 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 37 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
38 | action = irq_desc[i].action; | 38 | action = irq_desc[i].action; |
39 | if (!action) | 39 | if (!action) |
40 | goto skip; | 40 | goto skip; |
@@ -53,7 +53,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
53 | 53 | ||
54 | seq_putc(p, '\n'); | 54 | seq_putc(p, '\n'); |
55 | skip: | 55 | skip: |
56 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 56 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
57 | } else if (i == NR_IRQS) | 57 | } else if (i == NR_IRQS) |
58 | seq_putc(p, '\n'); | 58 | seq_putc(p, '\n'); |
59 | 59 | ||
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index d5d498fbee4b..11a5851f1f50 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -2431,7 +2431,7 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void) | |||
2431 | continue; | 2431 | continue; |
2432 | 2432 | ||
2433 | cfg = irq_cfg(irq); | 2433 | cfg = irq_cfg(irq); |
2434 | spin_lock(&desc->lock); | 2434 | raw_spin_lock(&desc->lock); |
2435 | 2435 | ||
2436 | if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain)) | 2436 | if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain)) |
2437 | goto unlock; | 2437 | goto unlock; |
@@ -2450,7 +2450,7 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void) | |||
2450 | } | 2450 | } |
2451 | __get_cpu_var(vector_irq)[vector] = -1; | 2451 | __get_cpu_var(vector_irq)[vector] = -1; |
2452 | unlock: | 2452 | unlock: |
2453 | spin_unlock(&desc->lock); | 2453 | raw_spin_unlock(&desc->lock); |
2454 | } | 2454 | } |
2455 | 2455 | ||
2456 | irq_exit(); | 2456 | irq_exit(); |
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 664bcb7384ac..91fd0c70a18a 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c | |||
@@ -149,7 +149,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
149 | if (!desc) | 149 | if (!desc) |
150 | return 0; | 150 | return 0; |
151 | 151 | ||
152 | spin_lock_irqsave(&desc->lock, flags); | 152 | raw_spin_lock_irqsave(&desc->lock, flags); |
153 | for_each_online_cpu(j) | 153 | for_each_online_cpu(j) |
154 | any_count |= kstat_irqs_cpu(i, j); | 154 | any_count |= kstat_irqs_cpu(i, j); |
155 | action = desc->action; | 155 | action = desc->action; |
@@ -170,7 +170,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
170 | 170 | ||
171 | seq_putc(p, '\n'); | 171 | seq_putc(p, '\n'); |
172 | out: | 172 | out: |
173 | spin_unlock_irqrestore(&desc->lock, flags); | 173 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
174 | return 0; | 174 | return 0; |
175 | } | 175 | } |
176 | 176 | ||
@@ -294,12 +294,12 @@ void fixup_irqs(void) | |||
294 | continue; | 294 | continue; |
295 | 295 | ||
296 | /* interrupt's are disabled at this point */ | 296 | /* interrupt's are disabled at this point */ |
297 | spin_lock(&desc->lock); | 297 | raw_spin_lock(&desc->lock); |
298 | 298 | ||
299 | affinity = desc->affinity; | 299 | affinity = desc->affinity; |
300 | if (!irq_has_action(irq) || | 300 | if (!irq_has_action(irq) || |
301 | cpumask_equal(affinity, cpu_online_mask)) { | 301 | cpumask_equal(affinity, cpu_online_mask)) { |
302 | spin_unlock(&desc->lock); | 302 | raw_spin_unlock(&desc->lock); |
303 | continue; | 303 | continue; |
304 | } | 304 | } |
305 | 305 | ||
@@ -326,7 +326,7 @@ void fixup_irqs(void) | |||
326 | if (!(desc->status & IRQ_MOVE_PCNTXT) && desc->chip->unmask) | 326 | if (!(desc->status & IRQ_MOVE_PCNTXT) && desc->chip->unmask) |
327 | desc->chip->unmask(irq); | 327 | desc->chip->unmask(irq); |
328 | 328 | ||
329 | spin_unlock(&desc->lock); | 329 | raw_spin_unlock(&desc->lock); |
330 | 330 | ||
331 | if (break_affinity && set_affinity) | 331 | if (break_affinity && set_affinity) |
332 | printk("Broke affinity for irq %i\n", irq); | 332 | printk("Broke affinity for irq %i\n", irq); |
@@ -356,10 +356,10 @@ void fixup_irqs(void) | |||
356 | irq = __get_cpu_var(vector_irq)[vector]; | 356 | irq = __get_cpu_var(vector_irq)[vector]; |
357 | 357 | ||
358 | desc = irq_to_desc(irq); | 358 | desc = irq_to_desc(irq); |
359 | spin_lock(&desc->lock); | 359 | raw_spin_lock(&desc->lock); |
360 | if (desc->chip->retrigger) | 360 | if (desc->chip->retrigger) |
361 | desc->chip->retrigger(irq); | 361 | desc->chip->retrigger(irq); |
362 | spin_unlock(&desc->lock); | 362 | raw_spin_unlock(&desc->lock); |
363 | } | 363 | } |
364 | } | 364 | } |
365 | } | 365 | } |
diff --git a/arch/xtensa/kernel/irq.c b/arch/xtensa/kernel/irq.c index a1badb32fcda..8cd38484e130 100644 --- a/arch/xtensa/kernel/irq.c +++ b/arch/xtensa/kernel/irq.c | |||
@@ -90,7 +90,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
90 | } | 90 | } |
91 | 91 | ||
92 | if (i < NR_IRQS) { | 92 | if (i < NR_IRQS) { |
93 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 93 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
94 | action = irq_desc[i].action; | 94 | action = irq_desc[i].action; |
95 | if (!action) | 95 | if (!action) |
96 | goto skip; | 96 | goto skip; |
@@ -109,7 +109,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
109 | 109 | ||
110 | seq_putc(p, '\n'); | 110 | seq_putc(p, '\n'); |
111 | skip: | 111 | skip: |
112 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 112 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
113 | } else if (i == NR_IRQS) { | 113 | } else if (i == NR_IRQS) { |
114 | seq_printf(p, "NMI: "); | 114 | seq_printf(p, "NMI: "); |
115 | for_each_online_cpu(j) | 115 | for_each_online_cpu(j) |