mirror of https://gitee.com/openkylin/linux.git
arm: Tell irq work about self IPI support
ARM irq work IPI support depends on SMP support. That information is partly known at early boottime. Lets implement arch_irq_work_has_interrupt() accordingly. Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Russell King <linux@arm.linux.org.uk> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
This commit is contained in:
parent
3010279f0f
commit
09f6edd424
|
@ -11,7 +11,6 @@ generic-y += hash.h
|
|||
generic-y += ioctl.h
|
||||
generic-y += ipcbuf.h
|
||||
generic-y += irq_regs.h
|
||||
generic-y += irq_work.h
|
||||
generic-y += kdebug.h
|
||||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#ifndef __ASM_ARM_IRQ_WORK_H
|
||||
#define __ASM_ARM_IRQ_WORK_H
|
||||
|
||||
#include <asm/smp_plat.h>
|
||||
|
||||
static inline bool arch_irq_work_has_interrupt(void)
|
||||
{
|
||||
return is_smp();
|
||||
}
|
||||
|
||||
#endif /* _ASM_ARM_IRQ_WORK_H */
|
|
@ -503,7 +503,7 @@ void arch_send_call_function_single_ipi(int cpu)
|
|||
#ifdef CONFIG_IRQ_WORK
|
||||
void arch_irq_work_raise(void)
|
||||
{
|
||||
if (is_smp())
|
||||
if (arch_irq_work_has_interrupt())
|
||||
smp_cross_call(cpumask_of(smp_processor_id()), IPI_IRQ_WORK);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue