Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _ASM_IRQ_H |
| 2 | #define _ASM_IRQ_H |
| 3 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | #include <linux/hardirq.h> |
Heiko Carstens | d7b250e | 2011-05-26 09:48:24 +0200 | [diff] [blame] | 5 | #include <linux/types.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | enum interruption_class { |
| 8 | EXTERNAL_INTERRUPT, |
| 9 | IO_INTERRUPT, |
Heiko Carstens | 052ff46 | 2011-01-05 12:47:28 +0100 | [diff] [blame] | 10 | EXTINT_CLK, |
| 11 | EXTINT_IPI, |
| 12 | EXTINT_TMR, |
| 13 | EXTINT_TLA, |
| 14 | EXTINT_PFL, |
| 15 | EXTINT_DSD, |
| 16 | EXTINT_VRT, |
| 17 | EXTINT_SCP, |
| 18 | EXTINT_IUC, |
Heiko Carstens | fcdd65b | 2011-05-23 10:24:48 +0200 | [diff] [blame] | 19 | EXTINT_CPM, |
Jan Glauber | 30d77c3 | 2011-01-05 12:47:29 +0100 | [diff] [blame] | 20 | IOINT_QAI, |
| 21 | IOINT_QDI, |
Heiko Carstens | 3283942 | 2011-01-05 12:47:30 +0100 | [diff] [blame] | 22 | IOINT_DAS, |
Heiko Carstens | 12fae58 | 2011-01-05 12:47:31 +0100 | [diff] [blame] | 23 | IOINT_C15, |
Heiko Carstens | 3fe22f6 | 2011-01-05 12:47:32 +0100 | [diff] [blame] | 24 | IOINT_C70, |
Heiko Carstens | b8665172 | 2011-01-05 12:47:33 +0100 | [diff] [blame] | 25 | IOINT_TAP, |
Heiko Carstens | f48198d | 2011-01-05 12:47:34 +0100 | [diff] [blame] | 26 | IOINT_VMR, |
Heiko Carstens | 096a616 | 2011-01-05 12:47:35 +0100 | [diff] [blame] | 27 | IOINT_LCS, |
Heiko Carstens | 355eb40 | 2011-01-05 12:47:36 +0100 | [diff] [blame] | 28 | IOINT_CLW, |
Heiko Carstens | 85b81cd | 2011-01-05 12:47:37 +0100 | [diff] [blame] | 29 | IOINT_CTC, |
Holger Dengler | 62d146f | 2011-01-05 12:47:38 +0100 | [diff] [blame] | 30 | IOINT_APB, |
Heiko Carstens | 052ff46 | 2011-01-05 12:47:28 +0100 | [diff] [blame] | 31 | NMI_NMI, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | NR_IRQS, |
| 33 | }; |
| 34 | |
Heiko Carstens | d7b250e | 2011-05-26 09:48:24 +0200 | [diff] [blame] | 35 | typedef void (*ext_int_handler_t)(unsigned int, unsigned int, unsigned long); |
| 36 | |
| 37 | int register_external_interrupt(u16 code, ext_int_handler_t handler); |
| 38 | int unregister_external_interrupt(u16 code, ext_int_handler_t handler); |
| 39 | void service_subclass_irq_register(void); |
| 40 | void service_subclass_irq_unregister(void); |
| 41 | |
Heiko Carstens | 052ff46 | 2011-01-05 12:47:28 +0100 | [diff] [blame] | 42 | #endif /* _ASM_IRQ_H */ |