me8100.h
changeset 4 a90b94337569
parent 3 fc24e3b47731
child 7 ee662c2e14f9
--- a/me8100.h	Wed Jan 16 15:54:58 2002 +0100
+++ b/me8100.h	Wed Jan 16 20:29:27 2002 +0100
@@ -127,12 +127,15 @@
 /*********************************************************/
 
 /* Some definitions to be written to the CTRL register */
-#define ME8100_CTL_ENIO		0x80
-#define ME8100_CTL_SOURCE	0x10
-#define ME8100_CTL_SINK		0x00
+#define ME8100_CTRL_ENIO		0x80
+#define ME8100_CTRL_SOURCE		0x10
+#define ME8100_CTRL_SINK		0x00
 
-#define ME8100_CTL_IRQ_PATTERN	0x40
-#define ME8100_CTL_IRQ_MASK	0x60
+#define ME8100_CTRL_IRQ_PATTERN		0x40
+#define ME8100_CTRL_IRQ_MASK		0x60
+
+#define ME8100_CTRL_REG		       0x00	  //( ,w)
+#define ME8100_DO_REG		       0x06	  //( ,w)
 
 /* ME8100 Register Set A */
 #define ME8100_ID_REG_A			0x00      //(r, )
@@ -187,6 +190,12 @@
 
 #ifdef __KERNEL__
 
+struct me8100_subinfo {
+  unsigned int regbase;
+  unsigned short ctrl_reg;
+  int num_writer;
+};
+
 typedef struct{
   int board_count;                  /* index of the board after detection    */
   me8100_version_enum_type version; /* sort of board                         */
@@ -210,12 +219,13 @@
   spinlock_t use_lock;              /* Guards board in use                   */
   struct file *file_ptr;            /* Pointer to file structure of path     */
   struct fasync_struct *fasync_ptr; /* .hs */
+  struct me8100_subinfo subinfo[2];   /* .hs */
 } me8100_info_type;
 
 #endif	/* __KERNEL__ */
 
 /* ME8100 IOCTL's */
-#define ME8100_IOCTL_MAXNR 29
+#define ME8100_IOCTL_MAXNR 30
 #define ME8100_MAGIC 'o'
 #define ME8100_READ_ID_A        _IOR(ME8100_MAGIC, 0,  unsigned short)
 #define ME8100_WRITE_CTRL_A     _IOW(ME8100_MAGIC, 1,  unsigned short)
@@ -251,3 +261,8 @@
 #define ME8100_GET_BOARD_INFO   _IOR(ME8100_MAGIC, 28, me8100_info_type)
 #define ME8100_GET_INT_COUNT    _IOR(ME8100_MAGIC, 29, me8100_int_occur_type)
 
+#define ME8100_WRITE_DO		_IOR(ME8100_MAGIC, 30, unsigned short)
+
+/*
+ * vim:sts=2 sw=2 aw ai sm:
+ */