1 #ifndef _ALPHA_IRQ_H
2 #define _ALPHA_IRQ_H
3
4
5
6
7
8
9
10 #include <linux/linkage.h>
11 #include <linux/config.h>
12
13 #if defined(CONFIG_ALPHA_CABRIOLET) || defined(CONFIG_ALPHA_EB66P) || defined(CONFIG_ALPHA_EB164)
14 # define NR_IRQS 33
15 #elif defined(CONFIG_ALPHA_EB66) || defined(CONFIG_ALPHA_EB64P)
16 # define NR_IRQS 32
17 #else
18 # define NR_IRQS 16
19 #endif
20
21
22 extern void disable_irq(unsigned int);
23 extern void enable_irq(unsigned int);
24
25 #define __STR(x) #x
26 #define STR(x) __STR(x)
27
28 #define SAVE_ALL "xx"
29
30
31
32
33
34
35
36
37
38
39
40
41 #define SAVE_MOST "yy"
42
43 #define RESTORE_MOST "zz"
44
45 #define ACK_FIRST(mask) "aa"
46
47 #define ACK_SECOND(mask) "dummy"
48
49 #define UNBLK_FIRST(mask) "dummy"
50
51 #define UNBLK_SECOND(mask) "dummy"
52
53 #define IRQ_NAME2(nr) nr##_interrupt(void)
54 #define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
55 #define FAST_IRQ_NAME(nr) IRQ_NAME2(fast_IRQ##nr)
56 #define BAD_IRQ_NAME(nr) IRQ_NAME2(bad_IRQ##nr)
57
58 #define BUILD_IRQ(chip,nr,mask) \
59 asmlinkage void IRQ_NAME(nr); \
60 asmlinkage void FAST_IRQ_NAME(nr); \
61 asmlinkage void BAD_IRQ_NAME(nr); \
62 asm code comes here
63
64 #endif