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

[PATCH] m68knommu: move some platform irq support out of irq.h

Move some of the m68knommu platform specific irq core support
to its own header, irqnode.h. Having it in asm-m68knommu/irq.h
causes some build pain, since it is included in a number of
common code places (and not all the required definitions will
be included at these places).

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Greg Ungerer and committed by
Linus Torvalds
2ed5e6d0 562d2f8c

+38 -31
+1
arch/m68knommu/kernel/asm-offsets.c
··· 15 15 #include <linux/hardirq.h> 16 16 #include <asm/bootinfo.h> 17 17 #include <asm/irq.h> 18 + #include <asm/irqnode.h> 18 19 #include <asm/thread_info.h> 19 20 20 21 #define DEFINE(sym, val) \
+1
arch/m68knommu/platform/5307/ints.c
··· 26 26 27 27 #include <asm/system.h> 28 28 #include <asm/irq.h> 29 + #include <asm/irqnode.h> 29 30 #include <asm/traps.h> 30 31 #include <asm/page.h> 31 32 #include <asm/machdep.h>
-31
include/asm-m68knommu/irq.h
··· 2 2 #define _M68K_IRQ_H_ 3 3 4 4 #include <linux/config.h> 5 - #include <linux/interrupt.h> 6 5 #include <asm/ptrace.h> 7 6 8 7 #ifdef CONFIG_COLDFIRE ··· 80 81 #define CPM_VECTOR_BASE 0x04 /* 3 MSbits of CPM vector */ 81 82 82 83 #endif /* CONFIG_M68360 */ 83 - 84 - /* 85 - * This structure is used to chain together the ISRs for a particular 86 - * interrupt source (if it supports chaining). 87 - */ 88 - typedef struct irq_node { 89 - irqreturn_t (*handler)(int, void *, struct pt_regs *); 90 - unsigned long flags; 91 - void *dev_id; 92 - const char *devname; 93 - struct irq_node *next; 94 - } irq_node_t; 95 - 96 - /* 97 - * This structure has only 4 elements for speed reasons 98 - */ 99 - typedef struct irq_handler { 100 - irqreturn_t (*handler)(int, void *, struct pt_regs *); 101 - unsigned long flags; 102 - void *dev_id; 103 - const char *devname; 104 - } irq_handler_t; 105 - 106 - /* count of spurious interrupts */ 107 - extern volatile unsigned int num_spurious; 108 - 109 - /* 110 - * This function returns a new irq_node_t 111 - */ 112 - extern irq_node_t *new_irq_node(void); 113 84 114 85 /* 115 86 * Some drivers want these entry points
+36
include/asm-m68knommu/irqnode.h
··· 1 + #ifndef _M68K_IRQNODE_H_ 2 + #define _M68K_IRQNODE_H_ 3 + 4 + #include <linux/interrupt.h> 5 + 6 + /* 7 + * This structure is used to chain together the ISRs for a particular 8 + * interrupt source (if it supports chaining). 9 + */ 10 + typedef struct irq_node { 11 + irqreturn_t (*handler)(int, void *, struct pt_regs *); 12 + unsigned long flags; 13 + void *dev_id; 14 + const char *devname; 15 + struct irq_node *next; 16 + } irq_node_t; 17 + 18 + /* 19 + * This structure has only 4 elements for speed reasons 20 + */ 21 + typedef struct irq_handler { 22 + irqreturn_t (*handler)(int, void *, struct pt_regs *); 23 + unsigned long flags; 24 + void *dev_id; 25 + const char *devname; 26 + } irq_handler_t; 27 + 28 + /* count of spurious interrupts */ 29 + extern volatile unsigned int num_spurious; 30 + 31 + /* 32 + * This function returns a new irq_node_t 33 + */ 34 + extern irq_node_t *new_irq_node(void); 35 + 36 + #endif /* _M68K_IRQNODE_H_ */