Merge branch 'x86/core' into x86/mce2
[linux-2.6/mini2440.git] / drivers / staging / comedi / comedi_compat32.h
blob0ca01642c16554c6638638e272a5bc893b9e2b90
1 /*
2 comedi/comedi_compat32.h
3 32-bit ioctl compatibility for 64-bit comedi kernel module.
5 Author: Ian Abbott, MEV Ltd. <abbotti@mev.co.uk>
6 Copyright (C) 2007 MEV Ltd. <http://www.mev.co.uk/>
8 COMEDI - Linux Control and Measurement Device Interface
9 Copyright (C) 1997-2007 David A. Schleef <ds@schleef.org>
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 2 of the License, or
14 (at your option) any later version.
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27 #ifndef _COMEDI_COMPAT32_H
28 #define _COMEDI_COMPAT32_H
30 #include <linux/compat.h>
31 #include <linux/fs.h> /* For HAVE_COMPAT_IOCTL and HAVE_UNLOCKED_IOCTL */
33 #ifdef CONFIG_COMPAT
35 #ifdef HAVE_COMPAT_IOCTL
37 extern long comedi_compat_ioctl(struct file *file, unsigned int cmd,
38 unsigned long arg);
39 #define comedi_register_ioctl32() do {} while (0)
40 #define comedi_unregister_ioctl32() do {} while (0)
42 #else /* HAVE_COMPAT_IOCTL */
44 #define comedi_compat_ioctl 0 /* NULL */
45 extern void comedi_register_ioctl32(void);
46 extern void comedi_unregister_ioctl32(void);
48 #endif /* HAVE_COMPAT_IOCTL */
50 #else /* CONFIG_COMPAT */
52 #define comedi_compat_ioctl 0 /* NULL */
53 #define comedi_register_ioctl32() do {} while (0)
54 #define comedi_unregister_ioctl32() do {} while (0)
56 #endif /* CONFIG_COMPAT */
58 #endif /* _COMEDI_COMPAT32_H */