1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __UM_IRQFLAGS_H 3 #define __UM_IRQFLAGS_H 4 5 extern int get_signals(void); 6 extern int set_signals(int enable); 7 extern void block_signals(void); 8 extern void unblock_signals(void); 9 10 #define arch_local_save_flags arch_local_save_flags 11 static inline unsigned long arch_local_save_flags(void) 12 { 13 return get_signals(); 14 } 15 16 #define arch_local_irq_restore arch_local_irq_restore 17 static inline void arch_local_irq_restore(unsigned long flags) 18 { 19 set_signals(flags); 20 } 21 22 #define arch_local_irq_enable arch_local_irq_enable 23 static inline void arch_local_irq_enable(void) 24 { 25 unblock_signals(); 26 } 27 28 #define arch_local_irq_disable arch_local_irq_disable 29 static inline void arch_local_irq_disable(void) 30 { 31 block_signals(); 32 } 33 34 #define ARCH_IRQ_DISABLED 0 35 #define ARCh_IRQ_ENABLED (SIGIO|SIGVTALRM) 36 37 #include <asm-generic/irqflags.h> 38 39 #endif 40