h8300: IRQ handling update
[linux-2.6] / include / asm-h8300 / irq.h
1 #ifndef _H8300_IRQ_H_
2 #define _H8300_IRQ_H_
3
4 #include <asm/ptrace.h>
5
6 #if defined(CONFIG_CPU_H8300H)
7 #define NR_IRQS 64
8 #define EXT_IRQ0 12
9 #define EXT_IRQ1 13
10 #define EXT_IRQ2 14
11 #define EXT_IRQ3 15
12 #define EXT_IRQ4 16
13 #define EXT_IRQ5 17
14 #define EXT_IRQ6 18
15 #define EXT_IRQ7 19
16 #define EXT_IRQS 5
17 #define IER_REGS *(volatile unsigned char *)IER
18 #endif
19 #if defined(CONFIG_CPU_H8S)
20 #define NR_IRQS 128
21 #define EXT_IRQ0 16
22 #define EXT_IRQ1 17
23 #define EXT_IRQ2 18
24 #define EXT_IRQ3 19
25 #define EXT_IRQ4 20
26 #define EXT_IRQ5 21
27 #define EXT_IRQ6 22
28 #define EXT_IRQ7 23
29 #define EXT_IRQ8 24
30 #define EXT_IRQ9 25
31 #define EXT_IRQ10 26
32 #define EXT_IRQ11 27
33 #define EXT_IRQ12 28
34 #define EXT_IRQ13 29
35 #define EXT_IRQ14 30
36 #define EXT_IRQ15 31
37 #define EXT_IRQS 15
38
39 #define IER_REGS *(volatile unsigned short *)IER
40 #endif
41
42 static __inline__ int irq_canonicalize(int irq)
43 {
44         return irq;
45 }
46
47 typedef void (*h8300_vector)(void);
48
49 #endif /* _H8300_IRQ_H_ */