16f0e6c15SFrederic Weisbecker /* SPDX-License-Identifier: GPL-2.0 */
26f0e6c15SFrederic Weisbecker #ifndef _LINUX_CONTEXT_TRACKING_IRQ_H
36f0e6c15SFrederic Weisbecker #define _LINUX_CONTEXT_TRACKING_IRQ_H
46f0e6c15SFrederic Weisbecker 
56f0e6c15SFrederic Weisbecker #ifdef CONFIG_CONTEXT_TRACKING_IDLE
66f0e6c15SFrederic Weisbecker void ct_irq_enter(void);
76f0e6c15SFrederic Weisbecker void ct_irq_exit(void);
86f0e6c15SFrederic Weisbecker void ct_irq_enter_irqson(void);
96f0e6c15SFrederic Weisbecker void ct_irq_exit_irqson(void);
10493c1822SFrederic Weisbecker void ct_nmi_enter(void);
11493c1822SFrederic Weisbecker void ct_nmi_exit(void);
126f0e6c15SFrederic Weisbecker #else
ct_irq_enter(void)13*9ac50f73SJosh Poimboeuf static __always_inline void ct_irq_enter(void) { }
ct_irq_exit(void)14*9ac50f73SJosh Poimboeuf static __always_inline void ct_irq_exit(void) { }
ct_irq_enter_irqson(void)156f0e6c15SFrederic Weisbecker static inline void ct_irq_enter_irqson(void) { }
ct_irq_exit_irqson(void)166f0e6c15SFrederic Weisbecker static inline void ct_irq_exit_irqson(void) { }
ct_nmi_enter(void)17*9ac50f73SJosh Poimboeuf static __always_inline void ct_nmi_enter(void) { }
ct_nmi_exit(void)18*9ac50f73SJosh Poimboeuf static __always_inline void ct_nmi_exit(void) { }
196f0e6c15SFrederic Weisbecker #endif
206f0e6c15SFrederic Weisbecker 
216f0e6c15SFrederic Weisbecker #endif
22