Blame view
include/asm-generic/irqflags.h
1.47 KB
aafe4dbed asm-generic: add ... |
1 2 3 4 5 6 7 |
#ifndef __ASM_GENERIC_IRQFLAGS_H #define __ASM_GENERIC_IRQFLAGS_H /* * All architectures should implement at least the first two functions, * usually inline assembly will be the best way. */ |
df9ee2927 Fix IRQ flag hand... |
8 9 10 |
#ifndef ARCH_IRQ_DISABLED #define ARCH_IRQ_DISABLED 0 #define ARCH_IRQ_ENABLED 1 |
aafe4dbed asm-generic: add ... |
11 12 13 |
#endif /* read interrupt enabled status */ |
df9ee2927 Fix IRQ flag hand... |
14 15 |
#ifndef arch_local_save_flags unsigned long arch_local_save_flags(void); |
aafe4dbed asm-generic: add ... |
16 17 18 |
#endif /* set interrupt enabled status */ |
df9ee2927 Fix IRQ flag hand... |
19 20 |
#ifndef arch_local_irq_restore void arch_local_irq_restore(unsigned long flags); |
aafe4dbed asm-generic: add ... |
21 22 23 |
#endif /* get status and disable interrupts */ |
df9ee2927 Fix IRQ flag hand... |
24 25 |
#ifndef arch_local_irq_save static inline unsigned long arch_local_irq_save(void) |
aafe4dbed asm-generic: add ... |
26 27 |
{ unsigned long flags; |
df9ee2927 Fix IRQ flag hand... |
28 29 |
flags = arch_local_save_flags(); arch_local_irq_restore(ARCH_IRQ_DISABLED); |
aafe4dbed asm-generic: add ... |
30 31 32 33 34 |
return flags; } #endif /* test flags */ |
df9ee2927 Fix IRQ flag hand... |
35 36 |
#ifndef arch_irqs_disabled_flags static inline int arch_irqs_disabled_flags(unsigned long flags) |
aafe4dbed asm-generic: add ... |
37 |
{ |
df9ee2927 Fix IRQ flag hand... |
38 |
return flags == ARCH_IRQ_DISABLED; |
aafe4dbed asm-generic: add ... |
39 40 41 42 |
} #endif /* unconditionally enable interrupts */ |
df9ee2927 Fix IRQ flag hand... |
43 44 |
#ifndef arch_local_irq_enable static inline void arch_local_irq_enable(void) |
aafe4dbed asm-generic: add ... |
45 |
{ |
df9ee2927 Fix IRQ flag hand... |
46 |
arch_local_irq_restore(ARCH_IRQ_ENABLED); |
aafe4dbed asm-generic: add ... |
47 48 49 50 |
} #endif /* unconditionally disable interrupts */ |
df9ee2927 Fix IRQ flag hand... |
51 52 |
#ifndef arch_local_irq_disable static inline void arch_local_irq_disable(void) |
aafe4dbed asm-generic: add ... |
53 |
{ |
df9ee2927 Fix IRQ flag hand... |
54 |
arch_local_irq_restore(ARCH_IRQ_DISABLED); |
aafe4dbed asm-generic: add ... |
55 56 57 58 |
} #endif /* test hardware interrupt enable bit */ |
df9ee2927 Fix IRQ flag hand... |
59 60 |
#ifndef arch_irqs_disabled static inline int arch_irqs_disabled(void) |
aafe4dbed asm-generic: add ... |
61 |
{ |
df9ee2927 Fix IRQ flag hand... |
62 |
return arch_irqs_disabled_flags(arch_local_save_flags()); |
aafe4dbed asm-generic: add ... |
63 64 |
} #endif |
aafe4dbed asm-generic: add ... |
65 |
#endif /* __ASM_GENERIC_IRQFLAGS_H */ |