summaryrefslogtreecommitdiffstats
path: root/include/asm-s390x/s390dyn.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-s390x/s390dyn.h')
-rw-r--r--include/asm-s390x/s390dyn.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/include/asm-s390x/s390dyn.h b/include/asm-s390x/s390dyn.h
new file mode 100644
index 000000000..a728ddf33
--- /dev/null
+++ b/include/asm-s390x/s390dyn.h
@@ -0,0 +1,50 @@
+/*
+ * arch/s390/kernel/s390dyn.h
+ * S/390 data definitions for dynamic device attachment
+ *
+ * S390 version
+ * Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ * Author(s): Ingo Adlung (adlung@de.ibm.com)
+ */
+
+#ifndef __s390dyn_h
+#define __s390dyn_h
+
+struct _devreg;
+
+typedef int (* oper_handler_func_t)( int irq,
+ struct _devreg *dreg);
+
+typedef struct _devreg_hc_t {
+ __u16 ctype;
+ __u8 cmode;
+ __u16 dtype;
+ __u8 dmode;
+ } __attribute__ ((packed)) devreg_hc_t;
+
+typedef struct _devreg {
+ union {
+ int devno;
+ devreg_hc_t hc; /* has controller info */
+ } ci;
+
+ int flag;
+ oper_handler_func_t oper_func;
+ struct _devreg *prev;
+ struct _devreg *next;
+} devreg_t;
+
+#define DEVREG_EXACT_MATCH 0x00000001
+#define DEVREG_MATCH_DEV_TYPE 0x00000002
+#define DEVREG_MATCH_CU_TYPE 0x00000004
+#define DEVREG_NO_CU_INFO 0x00000008
+#define DEVREG_NO_DEV_INFO 0x00000010
+
+#define DEVREG_TYPE_DEVNO 0x80000000
+#define DEVREG_TYPE_DEVCHARS 0x40000000
+
+int s390_device_register ( devreg_t *drinfo );
+int s390_device_unregister( devreg_t *dreg );
+devreg_t * s390_search_devreg ( ioinfo_t *ioinfo );
+
+#endif /* __s390dyn */