diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-04-05 19:41:22 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-05 19:41:22 -0400 |
commit | 9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95 (patch) | |
tree | 7ff8833745d2f268f897f6fa4a27263b4a572245 /kernel/irq/handle.c | |
parent | de18836e447c2dc30120c0919b8db8ddc0401cc4 (diff) | |
parent | 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c (diff) |
Merge branch 'linus' into irq/threaded
Conflicts:
include/linux/irq.h
kernel/irq/handle.c
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r-- | kernel/irq/handle.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 38b49a9e508a..d82142be8dd2 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/kernel_stat.h> | 17 | #include <linux/kernel_stat.h> |
18 | #include <linux/rculist.h> | 18 | #include <linux/rculist.h> |
19 | #include <linux/hash.h> | 19 | #include <linux/hash.h> |
20 | #include <trace/irq.h> | ||
20 | #include <linux/bootmem.h> | 21 | #include <linux/bootmem.h> |
21 | 22 | ||
22 | #include "internals.h" | 23 | #include "internals.h" |
@@ -347,6 +348,9 @@ static void warn_no_thread(unsigned int irq, struct irqaction *action) | |||
347 | "but no thread function available.", irq, action->name); | 348 | "but no thread function available.", irq, action->name); |
348 | } | 349 | } |
349 | 350 | ||
351 | DEFINE_TRACE(irq_handler_entry); | ||
352 | DEFINE_TRACE(irq_handler_exit); | ||
353 | |||
350 | /** | 354 | /** |
351 | * handle_IRQ_event - irq action chain handler | 355 | * handle_IRQ_event - irq action chain handler |
352 | * @irq: the interrupt number | 356 | * @irq: the interrupt number |
@@ -365,7 +369,9 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) | |||
365 | local_irq_enable_in_hardirq(); | 369 | local_irq_enable_in_hardirq(); |
366 | 370 | ||
367 | do { | 371 | do { |
372 | trace_irq_handler_entry(irq, action); | ||
368 | ret = action->handler(irq, action->dev_id); | 373 | ret = action->handler(irq, action->dev_id); |
374 | trace_irq_handler_exit(irq, action, ret); | ||
369 | 375 | ||
370 | switch (ret) { | 376 | switch (ret) { |
371 | case IRQ_WAKE_THREAD: | 377 | case IRQ_WAKE_THREAD: |