diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2015-05-15 09:48:25 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-05-15 10:03:18 -0400 |
commit | 6af7faf6076697a39438cf38e21b4035e2ebdac9 (patch) | |
tree | 81e41507d5d80e11c749287ea0c4c2fcdcb063c2 | |
parent | 486ca539caa082c7f2929c207af1b3ce2a304489 (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.c | 6 | ||||
-rw-r--r-- | arch/x86/kernel/cpu/mshyperv.c | 6 | ||||
-rw-r--r-- | arch/x86/kernel/irq.c | 16 |
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 | ||
602 | static void __irq_complete_move(struct irq_cfg *cfg, unsigned vector) | 600 | static 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 |