--- 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:
+ */