]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/s390/include/asm/irq.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
[karo-tx-linux.git] / arch / s390 / include / asm / irq.h
1 #ifndef _ASM_IRQ_H
2 #define _ASM_IRQ_H
3
4 #include <linux/hardirq.h>
5 #include <linux/types.h>
6
7 enum interruption_class {
8         EXTERNAL_INTERRUPT,
9         IO_INTERRUPT,
10         EXTINT_CLK,
11         EXTINT_EXC,
12         EXTINT_EMS,
13         EXTINT_TMR,
14         EXTINT_TLA,
15         EXTINT_PFL,
16         EXTINT_DSD,
17         EXTINT_VRT,
18         EXTINT_SCP,
19         EXTINT_IUC,
20         EXTINT_CPM,
21         IOINT_CIO,
22         IOINT_QAI,
23         IOINT_DAS,
24         IOINT_C15,
25         IOINT_C70,
26         IOINT_TAP,
27         IOINT_VMR,
28         IOINT_LCS,
29         IOINT_CLW,
30         IOINT_CTC,
31         IOINT_APB,
32         IOINT_CSC,
33         NMI_NMI,
34         NR_IRQS,
35 };
36
37 struct ext_code {
38         unsigned short subcode;
39         unsigned short code;
40 };
41
42 typedef void (*ext_int_handler_t)(struct ext_code, unsigned int, unsigned long);
43
44 int register_external_interrupt(u16 code, ext_int_handler_t handler);
45 int unregister_external_interrupt(u16 code, ext_int_handler_t handler);
46 void service_subclass_irq_register(void);
47 void service_subclass_irq_unregister(void);
48 void measurement_alert_subclass_register(void);
49 void measurement_alert_subclass_unregister(void);
50
51 #endif /* _ASM_IRQ_H */