Optimize andes_clear_page() and andes_copy_page() with prefetch
[linux-2.6/linux-mips.git] / include / asm-s390 / s390dyn.h
blob960a81b43595c36c9b0df798d33d4878a21f9694
1 /*
2 * arch/s390/kernel/s390dyn.h
3 * S/390 data definitions for dynamic device attachment
5 * S390 version
6 * Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
7 * Author(s): Ingo Adlung (adlung@de.ibm.com)
8 */
10 #ifndef __s390dyn_h
11 #define __s390dyn_h
13 struct _devreg;
15 typedef int (* oper_handler_func_t)( int irq,
16 struct _devreg *dreg);
17 typedef void (* io_handler_func_t) ( int irq,
18 __u32 intparm );
19 typedef void ( * not_oper_handler_func_t)( int irq,
20 int status );
22 typedef struct _devreg {
23 union {
24 struct _hc {
25 __u16 ctype;
26 __u8 cmode;
27 __u16 dtype;
28 __u8 dmode;
29 } hc; /* has controller info */
31 struct _hnc {
32 __u16 dtype;
33 __u8 dmode;
34 __u16 res1;
35 __u8 res2;
36 } hnc; /* has no controller info */
37 } ci;
39 int flag;
40 oper_handler_func_t oper_func;
41 struct _devreg *prev;
42 struct _devreg *next;
43 } devreg_t;
45 #define DEVREG_EXACT_MATCH 0x00000001
46 #define DEVREG_MATCH_DEV_TYPE 0x00000002
47 #define DEVREG_MATCH_CU_TYPE 0x00000004
48 #define DEVREG_NO_CU_INFO 0x00000008
51 int s390_device_register ( devreg_t *drinfo );
52 int s390_device_deregister ( devreg_t *dreg );
53 int s390_request_irq_special( int irq,
54 io_handler_func_t io_handler,
55 not_oper_handler_func_t not_oper_handler,
56 unsigned long irqflags,
57 const char *devname,
58 void *dev_id);
60 #endif /* __s390dyn */