synclink_gt: add serial bit order control
[pandora-kernel.git] / include / linux / synclink.h
index 0577f52..c844a22 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * SyncLink Multiprotocol Serial Adapter Driver
  *
- * $Id: synclink.h,v 3.13 2006/05/23 18:25:06 paulkf Exp $
+ * $Id: synclink.h,v 3.14 2006/07/17 20:15:43 paulkf Exp $
  *
  * Copyright (C) 1998-2000 by Microgate Corporation
  *
 #define _SYNCLINK_H_
 #define SYNCLINK_H_VERSION 3.6
 
-#define BOOLEAN int
-#define TRUE 1
-#define FALSE 0
-
 #define BIT0   0x0001
 #define BIT1   0x0002
 #define BIT2   0x0004
 
 #define MGSL_MODE_ASYNC                1
 #define MGSL_MODE_HDLC         2
+#define MGSL_MODE_MONOSYNC     3
+#define MGSL_MODE_BISYNC       4
 #define MGSL_MODE_RAW          6
 
 #define MGSL_BUS_TYPE_ISA      1
 #define MGSL_INTERFACE_RTS_EN   0x10
 #define MGSL_INTERFACE_LL       0x20
 #define MGSL_INTERFACE_RL       0x40
+#define MGSL_INTERFACE_MSB_FIRST 0x80
 
 typedef struct _MGSL_PARAMS
 {
@@ -289,4 +288,28 @@ struct gpio_desc {
 #define MGSL_IOCGGPIO          _IOR(MGSL_MAGIC_IOC,17,struct gpio_desc)
 #define MGSL_IOCWAITGPIO       _IOWR(MGSL_MAGIC_IOC,18,struct gpio_desc)
 
+#ifdef __KERNEL__
+/* provide 32 bit ioctl compatibility on 64 bit systems */
+#ifdef CONFIG_COMPAT
+#include <linux/compat.h>
+struct MGSL_PARAMS32 {
+       compat_ulong_t  mode;
+       unsigned char   loopback;
+       unsigned short  flags;
+       unsigned char   encoding;
+       compat_ulong_t  clock_speed;
+       unsigned char   addr_filter;
+       unsigned short  crc_type;
+       unsigned char   preamble_length;
+       unsigned char   preamble;
+       compat_ulong_t  data_rate;
+       unsigned char   data_bits;
+       unsigned char   stop_bits;
+       unsigned char   parity;
+};
+#define MGSL_IOCSPARAMS32 _IOW(MGSL_MAGIC_IOC,0,struct MGSL_PARAMS32)
+#define MGSL_IOCGPARAMS32 _IOR(MGSL_MAGIC_IOC,1,struct MGSL_PARAMS32)
+#endif
+#endif
+
 #endif /* _SYNCLINK_H_ */