Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Frederic Weisbecker | 3010279 | 2014-08-16 18:47:15 +0200 | [diff] [blame] | 2 | #ifndef _ASM_IRQ_WORK_H |
| 3 | #define _ASM_IRQ_WORK_H |
| 4 | |
Borislav Petkov | cd4d09e | 2016-01-26 22:12:04 +0100 | [diff] [blame] | 5 | #include <asm/cpufeature.h> |
Frederic Weisbecker | 3010279 | 2014-08-16 18:47:15 +0200 | [diff] [blame] | 6 | |
Thomas Gleixner | a45525b | 2017-08-28 08:47:35 +0200 | [diff] [blame] | 7 | #ifdef CONFIG_X86_LOCAL_APIC |
Frederic Weisbecker | 3010279 | 2014-08-16 18:47:15 +0200 | [diff] [blame] | 8 | static inline bool arch_irq_work_has_interrupt(void) |
| 9 | { |
Borislav Petkov | 93984fb | 2016-04-04 22:25:00 +0200 | [diff] [blame] | 10 | return boot_cpu_has(X86_FEATURE_APIC); |
Frederic Weisbecker | 3010279 | 2014-08-16 18:47:15 +0200 | [diff] [blame] | 11 | } |
Thomas Gleixner | a45525b | 2017-08-28 08:47:35 +0200 | [diff] [blame] | 12 | extern void arch_irq_work_raise(void); |
| 13 | #else |
| 14 | static inline bool arch_irq_work_has_interrupt(void) |
| 15 | { |
| 16 | return false; |
| 17 | } |
| 18 | #endif |
Frederic Weisbecker | 3010279 | 2014-08-16 18:47:15 +0200 | [diff] [blame] | 19 | |
| 20 | #endif /* _ASM_IRQ_WORK_H */ |