2 * arch/s390/kernel/s390dyn.h
3 * S/390 data definitions for dynamic device attachment
6 * Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
7 * Author(s): Ingo Adlung (adlung@de.ibm.com)
14 #include <linux/list.h>
19 typedef int (* oper_handler_func_t)( int irq,
20 struct _devreg *dreg);
22 typedef struct _devreg_hc_t {
27 } __attribute__ ((packed)) devreg_hc_t;
29 typedef struct _devreg {
30 struct list_head list;
33 devreg_hc_t hc; /* has controller info */
37 oper_handler_func_t oper_func;
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
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)
49 #define DEVREG_TYPE_DEVNO 0x80000000
50 #define DEVREG_TYPE_DEVCHARS 0x40000000
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 );
56 #endif /* __s390dyn */