patch-2.3.99-pre8 linux/include/asm-s390/s390dyn.h

Next file: linux/include/asm-s390/s390io.h
Previous file: linux/include/asm-s390/s390-regs-common.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre7/linux/include/asm-s390/s390dyn.h linux/include/asm-s390/s390dyn.h
@@ -0,0 +1,60 @@
+/*
+ *  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  void (* io_handler_func_t) ( int  irq,
+                                      __u32 intparm );
+typedef  void ( * not_oper_handler_func_t)( int irq,
+                                            int status );
+
+typedef struct _devreg {
+	union {
+		struct _hc {
+			__u16 ctype;
+			__u8  cmode;
+			__u16 dtype;
+			__u8  dmode;
+		} hc;       /* has controller info */
+
+		struct _hnc {
+			__u16 dtype;
+			__u8  dmode;
+			__u16 res1;
+			__u8  res2;
+		} hnc;      /* has no 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
+
+
+int s390_device_register    ( devreg_t *drinfo );
+int s390_device_deregister  ( devreg_t *dreg );
+int s390_request_irq_special( int                      irq,
+                              io_handler_func_t        io_handler,
+                              not_oper_handler_func_t  not_oper_handler,
+                              unsigned long            irqflags,
+                              const char              *devname,
+                              void                    *dev_id);
+
+#endif /* __s390dyn */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)