Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

genirq: improve include files

Move the irq_desc related iterators out of irq.h, into irqnr.h, also
available via interrupt.h.

This way non-genirq (and even non-hardirq) architectures get the
common definitions and iterators.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

authored by

Thomas Gleixner and committed by
Ingo Molnar
dd3a1db9 cc8e920a

+26 -19
+1
include/linux/interrupt.h
··· 8 8 #include <linux/preempt.h> 9 9 #include <linux/cpumask.h> 10 10 #include <linux/irqreturn.h> 11 + #include <linux/irqnr.h> 11 12 #include <linux/hardirq.h> 12 13 #include <linux/sched.h> 13 14 #include <linux/irqflags.h>
+1 -19
include/linux/irq.h
··· 11 11 12 12 #include <linux/smp.h> 13 13 14 - #ifndef CONFIG_GENERIC_HARDIRQS 15 - # define nr_irqs NR_IRQS 16 - 17 - # define for_each_irq_desc(irq, desc) \ 18 - for (irq = 0; irq < nr_irqs; irq++) 19 - #else 20 - extern int nr_irqs; 21 - 22 - # define for_each_irq_desc(irq, desc) \ 23 - for (irq = 0, desc = irq_desc; irq < nr_irqs; irq++, desc++) 24 - 25 - # define for_each_irq_desc_reverse(irq, desc) \ 26 - for (irq = nr_irqs -1, desc = irq_desc + (nr_irqs -1 ); \ 27 - irq > 0; irq--, desc--) 28 - #endif 29 - 30 - #define for_each_irq_nr(irq) \ 31 - for (irq = 0; irq < nr_irqs; irq++) 32 - 33 14 #ifndef CONFIG_S390 34 15 35 16 #include <linux/linkage.h> ··· 18 37 #include <linux/spinlock.h> 19 38 #include <linux/cpumask.h> 20 39 #include <linux/irqreturn.h> 40 + #include <linux/irqnr.h> 21 41 #include <linux/errno.h> 22 42 23 43 #include <asm/irq.h>
+24
include/linux/irqnr.h
··· 1 + #ifndef _LINUX_IRQNR_H 2 + #define _LINUX_IRQNR_H 3 + 4 + #ifndef CONFIG_GENERIC_HARDIRQS 5 + #include <asm/irq.h> 6 + # define nr_irqs NR_IRQS 7 + 8 + # define for_each_irq_desc(irq, desc) \ 9 + for (irq = 0; irq < nr_irqs; irq++) 10 + #else 11 + extern int nr_irqs; 12 + 13 + # define for_each_irq_desc(irq, desc) \ 14 + for (irq = 0, desc = irq_desc; irq < nr_irqs; irq++, desc++) 15 + 16 + # define for_each_irq_desc_reverse(irq, desc) \ 17 + for (irq = nr_irqs -1, desc = irq_desc + (nr_irqs -1 ); \ 18 + irq > 0; irq--, desc--) 19 + #endif 20 + 21 + #define for_each_irq_nr(irq) \ 22 + for (irq = 0; irq < nr_irqs; irq++) 23 + 24 + #endif