more debug output
[linux-2.4.git] / include / asm-s390x / s390dyn.h
1 /*
2  *  arch/s390/kernel/s390dyn.h
3  *   S/390 data definitions for dynamic device attachment
4  *
5  *  S390 version
6  *    Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
7  *    Author(s): Ingo Adlung (adlung@de.ibm.com)
8  */
9
10 #ifndef __s390dyn_h
11 #define __s390dyn_h
12
13 #ifndef _LINUX_LIST_H
14 #include <linux/list.h>
15 #endif
16
17 struct _devreg;
18
19 typedef  int  (* oper_handler_func_t)( int             irq,
20                                        struct _devreg *dreg);
21
22 typedef struct _devreg_hc_t {
23         __u16 ctype;
24         __u8  cmode;
25         __u16 dtype;
26         __u8  dmode;
27    }  __attribute__ ((packed)) devreg_hc_t;
28
29 typedef struct _devreg {
30         struct list_head list;
31         union {
32                 int devno;
33                 devreg_hc_t hc;       /* has controller info */
34         } ci;
35
36         int                  flag;
37         oper_handler_func_t  oper_func;
38 } devreg_t;
39
40 #define DEVREG_MATCH_CU_TYPE    0x00000001
41 #define DEVREG_MATCH_CU_MODEL   0x00000002
42 #define DEVREG_MATCH_DEV_TYPE   0x00000004
43 #define DEVREG_MATCH_DEV_MODEL  0x00000008
44
45 #define DEVREG_EXACT_MATCH      (DEVREG_MATCH_CU_TYPE|DEVREG_MATCH_CU_MODEL|DEVREG_MATCH_DEV_TYPE|DEVREG_MATCH_DEV_MODEL)
46 #define DEVREG_NO_CU_INFO       (DEVREG_MATCH_DEV_TYPE|DEVREG_MATCH_DEV_MODEL)
47 #define DEVREG_NO_DEV_INFO      (DEVREG_MATCH_CU_TYPE|DEVREG_MATCH_CU_MODEL)
48
49 #define DEVREG_TYPE_DEVNO       0x80000000
50 #define DEVREG_TYPE_DEVCHARS    0x40000000
51
52 int        s390_device_register  ( devreg_t *drinfo );
53 int        s390_device_unregister( devreg_t *dreg );
54 devreg_t * s390_search_devreg    ( ioinfo_t *ioinfo );
55
56 #endif /* __s390dyn */