Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[pandora-kernel.git] / include / asm-s390 / s390_ext.h
1 #ifndef _S390_EXTINT_H
2 #define _S390_EXTINT_H
3
4 /*
5  *  include/asm-s390/s390_ext.h
6  *
7  *  S390 version
8  *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
9  *    Author(s): Holger Smolinski (Holger.Smolinski@de.ibm.com),
10  *               Martin Schwidefsky (schwidefsky@de.ibm.com)
11  */
12
13 #include <linux/types.h>
14
15 typedef void (*ext_int_handler_t)(__u16 code);
16
17 /*
18  * Warning: if you change ext_int_info_t you have to change the
19  * external interrupt handler in entry.S too.
20  */ 
21 typedef struct ext_int_info_t {
22         struct ext_int_info_t *next;
23         ext_int_handler_t handler;
24         __u16 code;
25 } __attribute__ ((packed)) ext_int_info_t;
26
27 extern ext_int_info_t *ext_int_hash[];
28
29 int register_external_interrupt(__u16 code, ext_int_handler_t handler);
30 int register_early_external_interrupt(__u16 code, ext_int_handler_t handler,
31                                       ext_int_info_t *info);
32 int unregister_external_interrupt(__u16 code, ext_int_handler_t handler);
33 int unregister_early_external_interrupt(__u16 code, ext_int_handler_t handler,
34                                         ext_int_info_t *info);
35
36 #endif