diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-09-30 10:45:07 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-10-12 16:39:07 +0200 |
commit | a98d24b71b6e229965f18dc00d28dc71cb8fe324 (patch) | |
tree | 213a6daf67e459b2078e630d5a8163c3b8fd3a9c /include/linux/irqnr.h | |
parent | 13bfe99e09123ef5edb6acb81ba337d2db600b53 (diff) | |
download | linux-stable-a98d24b71b6e229965f18dc00d28dc71cb8fe324.tar.gz linux-stable-a98d24b71b6e229965f18dc00d28dc71cb8fe324.tar.bz2 linux-stable-a98d24b71b6e229965f18dc00d28dc71cb8fe324.zip |
genirq: Implement sane enumeration
Use the allocator bitmap to lookup active interrupts.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/irqnr.h')
-rw-r--r-- | include/linux/irqnr.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/irqnr.h b/include/linux/irqnr.h index 7bf89bc8cbca..05aa8c23483f 100644 --- a/include/linux/irqnr.h +++ b/include/linux/irqnr.h @@ -25,6 +25,7 @@ extern int nr_irqs; extern struct irq_desc *irq_to_desc(unsigned int irq); +unsigned int irq_get_next_irq(unsigned int offset); # define for_each_irq_desc(irq, desc) \ for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs; \ @@ -47,6 +48,10 @@ extern struct irq_desc *irq_to_desc(unsigned int irq); #define irq_node(irq) 0 #endif +# define for_each_active_irq(irq) \ + for (irq = irq_get_next_irq(0); irq < nr_irqs; \ + irq = irq_get_next_irq(irq + 1)) + #endif /* CONFIG_GENERIC_HARDIRQS */ #define for_each_irq_nr(irq) \ |