summaryrefslogtreecommitdiffstats
path: root/include/linux/synclink.h
diff options
context:
space:
mode:
authorPaul Fulghum <paulkf@microgate.com>2007-05-10 22:22:43 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-11 08:29:34 -0700
commit2acdb1694494eb6f17b44b2b3065879af32d0d46 (patch)
treec9d53e5082ac8e2e80aa228c95102661e0822978 /include/linux/synclink.h
parent4c64c30a5c96bb798cbd6097d4996205b5359fa2 (diff)
downloadlinux-2acdb1694494eb6f17b44b2b3065879af32d0d46.tar.gz
linux-2acdb1694494eb6f17b44b2b3065879af32d0d46.tar.bz2
linux-2acdb1694494eb6f17b44b2b3065879af32d0d46.zip
synclink_gt: add compat_ioctl
Add support for 32 bit ioctl on 64 bit systems for synclink_gt Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Fulghum <paulkf@microgate.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/synclink.h')
-rw-r--r--include/linux/synclink.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/synclink.h b/include/linux/synclink.h
index c8b042667af1..5562fbf72095 100644
--- a/include/linux/synclink.h
+++ b/include/linux/synclink.h
@@ -291,4 +291,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_ */