summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/irq_work.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2015-05-15 15:50:45 +0200
committerThomas Gleixner <tglx@linutronix.de>2015-05-15 16:04:49 +0200
commit6dc178760553605c58d78bd403dfcb4e042c5b72 (patch)
treec0629434c3ed4cba49119389cd2716d40958be3a /arch/x86/kernel/irq_work.c
parent6af7faf6076697a39438cf38e21b4035e2ebdac9 (diff)
x86: Consolidate irq entering inlines
smp.c and irq_work.c implement the same inline helper. Move it to apic.h and use it everywhere. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'arch/x86/kernel/irq_work.c')
-rw-r--r--arch/x86/kernel/irq_work.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/x86/kernel/irq_work.c b/arch/x86/kernel/irq_work.c
index 15d741ddfeeb..dc5fa6a1e8d6 100644
--- a/arch/x86/kernel/irq_work.c
+++ b/arch/x86/kernel/irq_work.c
@@ -10,12 +10,6 @@
#include <asm/apic.h>
#include <asm/trace/irq_vectors.h>
-static inline void irq_work_entering_irq(void)
-{
- irq_enter();
- ack_APIC_irq();
-}
-
static inline void __smp_irq_work_interrupt(void)
{
inc_irq_stat(apic_irq_work_irqs);
@@ -24,14 +18,14 @@ static inline void __smp_irq_work_interrupt(void)
__visible void smp_irq_work_interrupt(struct pt_regs *regs)
{
- irq_work_entering_irq();
+ ipi_entering_ack_irq();
__smp_irq_work_interrupt();
exiting_irq();
}
__visible void smp_trace_irq_work_interrupt(struct pt_regs *regs)
{
- irq_work_entering_irq();
+ ipi_entering_ack_irq();
trace_irq_work_entry(IRQ_WORK_VECTOR);
__smp_irq_work_interrupt();
trace_irq_work_exit(IRQ_WORK_VECTOR);