Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _ASM_IRQ_H |
2 | #define _ASM_IRQ_H | |
3 | ||
1da177e4 | 4 | #include <linux/hardirq.h> |
d7b250e2 | 5 | #include <linux/types.h> |
1da177e4 | 6 | |
1da177e4 LT |
7 | enum interruption_class { |
8 | EXTERNAL_INTERRUPT, | |
9 | IO_INTERRUPT, | |
052ff461 | 10 | EXTINT_CLK, |
2a3a2d66 HC |
11 | EXTINT_EXC, |
12 | EXTINT_EMS, | |
052ff461 HC |
13 | EXTINT_TMR, |
14 | EXTINT_TLA, | |
15 | EXTINT_PFL, | |
16 | EXTINT_DSD, | |
17 | EXTINT_VRT, | |
18 | EXTINT_SCP, | |
19 | EXTINT_IUC, | |
02456169 HB |
20 | EXTINT_CMS, |
21 | EXTINT_CMC, | |
e4b8b3f3 | 22 | EXTINT_CMR, |
de400d6b | 23 | IOINT_CIO, |
30d77c3e | 24 | IOINT_QAI, |
3283942b | 25 | IOINT_DAS, |
12fae585 | 26 | IOINT_C15, |
3fe22f6b | 27 | IOINT_C70, |
b8665172 | 28 | IOINT_TAP, |
f48198d5 | 29 | IOINT_VMR, |
096a6168 | 30 | IOINT_LCS, |
355eb402 | 31 | IOINT_CLW, |
85b81cdd | 32 | IOINT_CTC, |
62d146ff | 33 | IOINT_APB, |
2e73c2cf | 34 | IOINT_ADM, |
65b4e403 | 35 | IOINT_CSC, |
9a4da8a5 JG |
36 | IOINT_PCI, |
37 | IOINT_MSI, | |
052ff461 | 38 | NMI_NMI, |
1da177e4 LT |
39 | NR_IRQS, |
40 | }; | |
41 | ||
fde15c3a HC |
42 | struct ext_code { |
43 | unsigned short subcode; | |
44 | unsigned short code; | |
45 | }; | |
46 | ||
47 | typedef void (*ext_int_handler_t)(struct ext_code, unsigned int, unsigned long); | |
d7b250e2 HC |
48 | |
49 | int register_external_interrupt(u16 code, ext_int_handler_t handler); | |
50 | int unregister_external_interrupt(u16 code, ext_int_handler_t handler); | |
51 | void service_subclass_irq_register(void); | |
52 | void service_subclass_irq_unregister(void); | |
b03d541a JG |
53 | void measurement_alert_subclass_register(void); |
54 | void measurement_alert_subclass_unregister(void); | |
d7b250e2 | 55 | |
9a4da8a5 JG |
56 | #ifdef CONFIG_LOCKDEP |
57 | # define disable_irq_nosync_lockdep(irq) disable_irq_nosync(irq) | |
58 | # define disable_irq_nosync_lockdep_irqsave(irq, flags) \ | |
59 | disable_irq_nosync(irq) | |
60 | # define disable_irq_lockdep(irq) disable_irq(irq) | |
61 | # define enable_irq_lockdep(irq) enable_irq(irq) | |
62 | # define enable_irq_lockdep_irqrestore(irq, flags) \ | |
63 | enable_irq(irq) | |
64 | #endif | |
65 | ||
052ff461 | 66 | #endif /* _ASM_IRQ_H */ |