Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _S390_EXTINT_H |
| 2 | #define _S390_EXTINT_H |
| 3 | |
| 4 | /* |
| 5 | * include/asm-s390/s390_ext.h |
| 6 | * |
| 7 | * S390 version |
Christian Borntraeger | ca08de0 | 2007-10-12 16:11:36 +0200 | [diff] [blame] | 8 | * Copyright IBM Corp. 1999,2007 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 | * Author(s): Holger Smolinski (Holger.Smolinski@de.ibm.com), |
| 10 | * Martin Schwidefsky (schwidefsky@de.ibm.com) |
| 11 | */ |
| 12 | |
Christian Borntraeger | cb1863a | 2007-07-27 12:29:15 +0200 | [diff] [blame] | 13 | #include <linux/types.h> |
| 14 | |
Heiko Carstens | 5a489b9 | 2006-10-06 16:38:35 +0200 | [diff] [blame] | 15 | typedef void (*ext_int_handler_t)(__u16 code); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 17 | typedef struct ext_int_info_t { |
| 18 | struct ext_int_info_t *next; |
| 19 | ext_int_handler_t handler; |
| 20 | __u16 code; |
Christian Borntraeger | ca08de0 | 2007-10-12 16:11:36 +0200 | [diff] [blame] | 21 | } ext_int_info_t; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | |
| 23 | extern ext_int_info_t *ext_int_hash[]; |
| 24 | |
| 25 | int register_external_interrupt(__u16 code, ext_int_handler_t handler); |
| 26 | int register_early_external_interrupt(__u16 code, ext_int_handler_t handler, |
| 27 | ext_int_info_t *info); |
| 28 | int unregister_external_interrupt(__u16 code, ext_int_handler_t handler); |
| 29 | int unregister_early_external_interrupt(__u16 code, ext_int_handler_t handler, |
| 30 | ext_int_info_t *info); |
| 31 | |
| 32 | #endif |