Commit | Line | Data |
---|---|---|
2ed5e6d0 GU |
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_ */ |