Root/
1 | #ifndef __ASM_GENERIC_IRQFLAGS_H |
2 | #define __ASM_GENERIC_IRQFLAGS_H |
3 | |
4 | /* |
5 | * All architectures should implement at least the first two functions, |
6 | * usually inline assembly will be the best way. |
7 | */ |
8 | #ifndef RAW_IRQ_DISABLED |
9 | #define RAW_IRQ_DISABLED 0 |
10 | #define RAW_IRQ_ENABLED 1 |
11 | #endif |
12 | |
13 | /* read interrupt enabled status */ |
14 | #ifndef __raw_local_save_flags |
15 | unsigned long __raw_local_save_flags(void); |
16 | #endif |
17 | |
18 | /* set interrupt enabled status */ |
19 | #ifndef raw_local_irq_restore |
20 | void raw_local_irq_restore(unsigned long flags); |
21 | #endif |
22 | |
23 | /* get status and disable interrupts */ |
24 | #ifndef __raw_local_irq_save |
25 | static inline unsigned long __raw_local_irq_save(void) |
26 | { |
27 | unsigned long flags; |
28 | flags = __raw_local_save_flags(); |
29 | raw_local_irq_restore(RAW_IRQ_DISABLED); |
30 | return flags; |
31 | } |
32 | #endif |
33 | |
34 | /* test flags */ |
35 | #ifndef raw_irqs_disabled_flags |
36 | static inline int raw_irqs_disabled_flags(unsigned long flags) |
37 | { |
38 | return flags == RAW_IRQ_DISABLED; |
39 | } |
40 | #endif |
41 | |
42 | /* unconditionally enable interrupts */ |
43 | #ifndef raw_local_irq_enable |
44 | static inline void raw_local_irq_enable(void) |
45 | { |
46 | raw_local_irq_restore(RAW_IRQ_ENABLED); |
47 | } |
48 | #endif |
49 | |
50 | /* unconditionally disable interrupts */ |
51 | #ifndef raw_local_irq_disable |
52 | static inline void raw_local_irq_disable(void) |
53 | { |
54 | raw_local_irq_restore(RAW_IRQ_DISABLED); |
55 | } |
56 | #endif |
57 | |
58 | /* test hardware interrupt enable bit */ |
59 | #ifndef raw_irqs_disabled |
60 | static inline int raw_irqs_disabled(void) |
61 | { |
62 | return raw_irqs_disabled_flags(__raw_local_save_flags()); |
63 | } |
64 | #endif |
65 | |
66 | #define raw_local_save_flags(flags) \ |
67 | do { (flags) = __raw_local_save_flags(); } while (0) |
68 | |
69 | #define raw_local_irq_save(flags) \ |
70 | do { (flags) = __raw_local_irq_save(); } while (0) |
71 | |
72 | #endif /* __ASM_GENERIC_IRQFLAGS_H */ |
73 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9