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