Rev 5270 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6082 | ||
---|---|---|---|
Line 83... | Line 83... | ||
83 | 83 | ||
84 | /* |
84 | /* |
85 | * The local_irq_*() APIs are equal to the raw_local_irq*() |
85 | * The local_irq_*() APIs are equal to the raw_local_irq*() |
86 | * if !TRACE_IRQFLAGS. |
86 | * if !TRACE_IRQFLAGS. |
87 | */ |
87 | */ |
88 | #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT |
88 | #ifdef CONFIG_TRACE_IRQFLAGS |
89 | #define local_irq_enable() \ |
89 | #define local_irq_enable() \ |
90 | do { trace_hardirqs_on(); raw_local_irq_enable(); } while (0) |
90 | do { trace_hardirqs_on(); raw_local_irq_enable(); } while (0) |
91 | #define local_irq_disable() \ |
91 | #define local_irq_disable() \ |
92 | do { raw_local_irq_disable(); trace_hardirqs_off(); } while (0) |
92 | do { raw_local_irq_disable(); trace_hardirqs_off(); } while (0) |
Line 105... | Line 105... | ||
105 | } else { \ |
105 | } else { \ |
106 | trace_hardirqs_on(); \ |
106 | trace_hardirqs_on(); \ |
107 | raw_local_irq_restore(flags); \ |
107 | raw_local_irq_restore(flags); \ |
108 | } \ |
108 | } \ |
109 | } while (0) |
109 | } while (0) |
110 | #define local_save_flags(flags) \ |
- | |
111 | do { \ |
- | |
112 | raw_local_save_flags(flags); \ |
- | |
113 | } while (0) |
- | |
114 | - | ||
115 | #define irqs_disabled_flags(flags) \ |
- | |
116 | ({ \ |
- | |
117 | raw_irqs_disabled_flags(flags); \ |
- | |
118 | }) |
- | |
119 | - | ||
120 | #define irqs_disabled() \ |
- | |
121 | ({ \ |
- | |
122 | unsigned long _flags; \ |
- | |
123 | raw_local_save_flags(_flags); \ |
- | |
124 | raw_irqs_disabled_flags(_flags); \ |
- | |
125 | }) |
- | |
Line 126... | Line 110... | ||
126 | 110 | ||
127 | #define safe_halt() \ |
111 | #define safe_halt() \ |
128 | do { \ |
112 | do { \ |
129 | trace_hardirqs_on(); \ |
113 | trace_hardirqs_on(); \ |
130 | raw_safe_halt(); \ |
114 | raw_safe_halt(); \ |
Line 131... | Line 115... | ||
131 | } while (0) |
115 | } while (0) |
Line 132... | Line 116... | ||
132 | 116 | ||
133 | 117 | ||
134 | #else /* !CONFIG_TRACE_IRQFLAGS_SUPPORT */ |
118 | #else /* !CONFIG_TRACE_IRQFLAGS */ |
135 | 119 | ||
136 | #define local_irq_enable() do { raw_local_irq_enable(); } while (0) |
120 | #define local_irq_enable() do { raw_local_irq_enable(); } while (0) |
137 | #define local_irq_disable() do { raw_local_irq_disable(); } while (0) |
121 | #define local_irq_disable() do { raw_local_irq_disable(); } while (0) |
138 | #define local_irq_save(flags) \ |
122 | #define local_irq_save(flags) \ |
139 | do { \ |
- | |
140 | raw_local_irq_save(flags); \ |
- | |
141 | } while (0) |
- | |
142 | #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0) |
123 | do { \ |
Line -... | Line 124... | ||
- | 124 | raw_local_irq_save(flags); \ |
|
- | 125 | } while (0) |
|
- | 126 | #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0) |
|
- | 127 | #define safe_halt() do { raw_safe_halt(); } while (0) |
|
- | 128 | ||
- | 129 | #endif /* CONFIG_TRACE_IRQFLAGS */ |
|
- | 130 | ||
- | 131 | #define local_save_flags(flags) raw_local_save_flags(flags) |
|
- | 132 | ||
- | 133 | /* |
|
- | 134 | * Some architectures don't define arch_irqs_disabled(), so even if either |
|
- | 135 | * definition would be fine we need to use different ones for the time being |
|
- | 136 | * to avoid build issues. |
|
- | 137 | */ |
|
- | 138 | #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT |
|
- | 139 | #define irqs_disabled() \ |
|
- | 140 | ({ \ |
|
- | 141 | unsigned long _flags; \ |
|
143 | #define local_save_flags(flags) do { raw_local_save_flags(flags); } while (0) |
142 | raw_local_save_flags(_flags); \ |
Line -... | Line 143... | ||
- | 143 | raw_irqs_disabled_flags(_flags); \ |
|
- | 144 | }) |
|
144 | #define irqs_disabled() (raw_irqs_disabled()) |
145 | #else /* !CONFIG_TRACE_IRQFLAGS_SUPPORT */ |