Merge branch 'lpc32xx/dts' of git://git.antcom.de/linux-2.6 into next/dt
[platform/adaptation/renesas_rcar/renesas_kernel.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_CMS,
21         EXTINT_CMC,
22         IOINT_CIO,
23         IOINT_QAI,
24         IOINT_DAS,
25         IOINT_C15,
26         IOINT_C70,
27         IOINT_TAP,
28         IOINT_VMR,
29         IOINT_LCS,
30         IOINT_CLW,
31         IOINT_CTC,
32         IOINT_APB,
33         IOINT_CSC,
34         NMI_NMI,
35         NR_IRQS,
36 };
37
38 struct ext_code {
39         unsigned short subcode;
40         unsigned short code;
41 };
42
43 typedef void (*ext_int_handler_t)(struct ext_code, unsigned int, unsigned long);
44
45 int register_external_interrupt(u16 code, ext_int_handler_t handler);
46 int unregister_external_interrupt(u16 code, ext_int_handler_t handler);
47 void service_subclass_irq_register(void);
48 void service_subclass_irq_unregister(void);
49 void measurement_alert_subclass_register(void);
50 void measurement_alert_subclass_unregister(void);
51
52 #endif /* _ASM_IRQ_H */