aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2015-05-15 09:48:25 -0400
committerThomas Gleixner <tglx@linutronix.de>2015-05-15 10:03:18 -0400
commit6af7faf6076697a39438cf38e21b4035e2ebdac9 (patch)
tree81e41507d5d80e11c749287ea0c4c2fcdcb063c2
parent486ca539caa082c7f2929c207af1b3ce2a304489 (diff)
x86: Use entering[_ack]_irq() instead of open coding it
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/apic/vector.c6
-rw-r--r--arch/x86/kernel/cpu/mshyperv.c6
-rw-r--r--arch/x86/kernel/irq.c16
3 files changed, 8 insertions, 20 deletions
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index b590c9d6736a..28eba2d38b15 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -542,9 +542,7 @@ asmlinkage __visible void smp_irq_move_cleanup_interrupt(void)
542{ 542{
543 unsigned vector, me; 543 unsigned vector, me;
544 544
545 ack_APIC_irq(); 545 entering_ack_irq();
546 irq_enter();
547 exit_idle();
548 546
549 me = smp_processor_id(); 547 me = smp_processor_id();
550 for (vector = FIRST_EXTERNAL_VECTOR; vector < NR_VECTORS; vector++) { 548 for (vector = FIRST_EXTERNAL_VECTOR; vector < NR_VECTORS; vector++) {
@@ -596,7 +594,7 @@ unlock:
596 raw_spin_unlock(&desc->lock); 594 raw_spin_unlock(&desc->lock);
597 } 595 }
598 596
599 irq_exit(); 597 exiting_irq();
600} 598}
601 599
602static void __irq_complete_move(struct irq_cfg *cfg, unsigned vector) 600static void __irq_complete_move(struct irq_cfg *cfg, unsigned vector)
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 939155ffdece..aad4bd84b475 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -39,14 +39,12 @@ void hyperv_vector_handler(struct pt_regs *regs)
39{ 39{
40 struct pt_regs *old_regs = set_irq_regs(regs); 40 struct pt_regs *old_regs = set_irq_regs(regs);
41 41
42 irq_enter(); 42 entering_irq();
43 exit_idle();
44
45 inc_irq_stat(irq_hv_callback_count); 43 inc_irq_stat(irq_hv_callback_count);
46 if (vmbus_handler) 44 if (vmbus_handler)
47 vmbus_handler(); 45 vmbus_handler();
48 46
49 irq_exit(); 47 exiting_irq();
50 set_irq_regs(old_regs); 48 set_irq_regs(old_regs);
51} 49}
52 50
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index fe2ed8bb507b..be3894512820 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -198,8 +198,7 @@ __visible unsigned int __irq_entry do_IRQ(struct pt_regs *regs)
198 unsigned vector = ~regs->orig_ax; 198 unsigned vector = ~regs->orig_ax;
199 unsigned irq; 199 unsigned irq;
200 200
201 irq_enter(); 201 entering_irq();
202 exit_idle();
203 202
204 irq = __this_cpu_read(vector_irq[vector]); 203 irq = __this_cpu_read(vector_irq[vector]);
205 204
@@ -215,7 +214,7 @@ __visible unsigned int __irq_entry do_IRQ(struct pt_regs *regs)
215 } 214 }
216 } 215 }
217 216
218 irq_exit(); 217 exiting_irq();
219 218
220 set_irq_regs(old_regs); 219 set_irq_regs(old_regs);
221 return 1; 220 return 1;
@@ -250,16 +249,9 @@ __visible void smp_kvm_posted_intr_ipi(struct pt_regs *regs)
250{ 249{
251 struct pt_regs *old_regs = set_irq_regs(regs); 250 struct pt_regs *old_regs = set_irq_regs(regs);
252 251
253 ack_APIC_irq(); 252 entering_ack_irq();
254
255 irq_enter();
256
257 exit_idle();
258
259 inc_irq_stat(kvm_posted_intr_ipis); 253 inc_irq_stat(kvm_posted_intr_ipis);
260 254 exiting_irq();
261 irq_exit();
262
263 set_irq_regs(old_regs); 255 set_irq_regs(old_regs);
264} 256}
265#endif 257#endif