diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 19:14:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 19:14:35 -0400 |
commit | a4883ef6af5e513a1e8c2ab9aab721604aa3a4f5 (patch) | |
tree | e893f951d150c1d760f46040483193a3ac713a4e /kernel/softirq.c | |
parent | ab3d681e9d41816f90836ea8fe235168d973207f (diff) | |
parent | d2e08473f2488d53a71c2f53455f934ec6c44c53 (diff) |
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull core irq changes from Ingo Molnar:
"The main changes:
- generic-irqchip driver additions, cleanups and fixes
- 3 new irqchip drivers: ARMv7-M NVIC, TB10x and Marvell Orion SoCs
- irq_get_trigger_type() simplification and cross-arch cleanup
- various cleanups, simplifications
- documentation updates"
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
softirq: Use _RET_IP_
genirq: Add the generic chip to the genirq docbook
genirq: generic-chip: Export some irq_gc_ functions
genirq: Fix can_request_irq() for IRQs without an action
irqchip: exynos-combiner: Staticize combiner_init
irqchip: Add support for ARMv7-M NVIC
irqchip: Add TB10x interrupt controller driver
irqdomain: Use irq_get_trigger_type() to get IRQ flags
MIPS: octeon: Use irq_get_trigger_type() to get IRQ flags
arm: orion: Use irq_get_trigger_type() to get IRQ flags
mfd: stmpe: use irq_get_trigger_type() to get IRQ flags
mfd: twl4030-irq: Use irq_get_trigger_type() to get IRQ flags
gpio: mvebu: Use irq_get_trigger_type() to get IRQ flags
genirq: Add irq_get_trigger_type() to get IRQ flags
genirq: Irqchip: document gcflags arg of irq_alloc_domain_generic_chips
genirq: Set irq thread to RT priority on creation
irqchip: Add support for Marvell Orion SoCs
genirq: Add kerneldoc for irq_disable.
genirq: irqchip: Add mask to block out invalid irqs
genirq: Generic chip: Add linear irq domain support
...
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r-- | kernel/softirq.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index 3d6833f125d3..ca25e6e704a2 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -127,8 +127,7 @@ static inline void __local_bh_disable(unsigned long ip, unsigned int cnt) | |||
127 | 127 | ||
128 | void local_bh_disable(void) | 128 | void local_bh_disable(void) |
129 | { | 129 | { |
130 | __local_bh_disable((unsigned long)__builtin_return_address(0), | 130 | __local_bh_disable(_RET_IP_, SOFTIRQ_DISABLE_OFFSET); |
131 | SOFTIRQ_DISABLE_OFFSET); | ||
132 | } | 131 | } |
133 | 132 | ||
134 | EXPORT_SYMBOL(local_bh_disable); | 133 | EXPORT_SYMBOL(local_bh_disable); |
@@ -139,7 +138,7 @@ static void __local_bh_enable(unsigned int cnt) | |||
139 | WARN_ON_ONCE(!irqs_disabled()); | 138 | WARN_ON_ONCE(!irqs_disabled()); |
140 | 139 | ||
141 | if (softirq_count() == cnt) | 140 | if (softirq_count() == cnt) |
142 | trace_softirqs_on((unsigned long)__builtin_return_address(0)); | 141 | trace_softirqs_on(_RET_IP_); |
143 | sub_preempt_count(cnt); | 142 | sub_preempt_count(cnt); |
144 | } | 143 | } |
145 | 144 | ||
@@ -184,7 +183,7 @@ static inline void _local_bh_enable_ip(unsigned long ip) | |||
184 | 183 | ||
185 | void local_bh_enable(void) | 184 | void local_bh_enable(void) |
186 | { | 185 | { |
187 | _local_bh_enable_ip((unsigned long)__builtin_return_address(0)); | 186 | _local_bh_enable_ip(_RET_IP_); |
188 | } | 187 | } |
189 | EXPORT_SYMBOL(local_bh_enable); | 188 | EXPORT_SYMBOL(local_bh_enable); |
190 | 189 | ||
@@ -229,8 +228,7 @@ asmlinkage void __do_softirq(void) | |||
229 | pending = local_softirq_pending(); | 228 | pending = local_softirq_pending(); |
230 | account_irq_enter_time(current); | 229 | account_irq_enter_time(current); |
231 | 230 | ||
232 | __local_bh_disable((unsigned long)__builtin_return_address(0), | 231 | __local_bh_disable(_RET_IP_, SOFTIRQ_OFFSET); |
233 | SOFTIRQ_OFFSET); | ||
234 | lockdep_softirq_enter(); | 232 | lockdep_softirq_enter(); |
235 | 233 | ||
236 | cpu = smp_processor_id(); | 234 | cpu = smp_processor_id(); |