ARM64 irq work support depends on __smp_cross_call to point to some
relevant IRQ controller operations. This information should be available
after the call to init_IRQ().

Lets implement arch_irq_work_has_own_interrupt() accordingly.

Cc: Catalin Iacob <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Dave Jones <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Larry Bassel <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Frederic Weisbecker <[email protected]>
---
 arch/arm64/kernel/smp.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 4743397..b3e8b9e 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -534,6 +534,11 @@ void arch_irq_work_raise(void)
        if (__smp_cross_call)
                smp_cross_call(cpumask_of(smp_processor_id()), IPI_IRQ_WORK);
 }
+
+int __init arch_irq_work_has_own_interrupt(void)
+{
+       return !!__smp_cross_call;
+}
 #endif
 
 static DEFINE_RAW_SPINLOCK(stop_lock);
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to