a2503dfc554c59dbc60cbed803d1f464062463de
[linux-2.6.git] / 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_ */