The megaraid driver is calling these, but they don't exist if !CONFIG_COMPAT. 
Add the necessary stubs, and clean a few things up.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/fs/compat.c             |    4 ++--
 25-akpm/include/linux/ioctl32.h |   25 +++++++++++++++++--------
 2 files changed, 19 insertions(+), 10 deletions(-)

diff -puN include/linux/ioctl32.h~megaraid-build-fix include/linux/ioctl32.h
--- 25/include/linux/ioctl32.h~megaraid-build-fix	2004-08-19 00:44:47.196079208 -0700
+++ 25-akpm/include/linux/ioctl32.h	2004-08-19 00:44:47.199078752 -0700
@@ -3,6 +3,15 @@
 
 struct file;
 
+typedef int (*ioctl_trans_handler_t)(unsigned int, unsigned int,
+					unsigned long, struct file *);
+
+struct ioctl_trans {
+	unsigned long cmd;
+	ioctl_trans_handler_t handler;
+	struct ioctl_trans *next;
+};
+
 /* 
  * Register an 32bit ioctl translation handler for ioctl cmd.
  *
@@ -13,16 +22,16 @@ struct file;
  *                        struct file *file: file descriptor pointer.
  */ 
 
-extern int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, unsigned int, unsigned long, struct file *));
-
+#ifdef CONFIG_COMPAT
+extern int register_ioctl32_conversion(unsigned int cmd,
+				ioctl_trans_handler_t handler);
 extern int unregister_ioctl32_conversion(unsigned int cmd);
 
-typedef int (*ioctl_trans_handler_t)(unsigned int, unsigned int, unsigned long, struct file *);
+#else
 
-struct ioctl_trans {
-	unsigned long cmd;
-	ioctl_trans_handler_t handler;
-	struct ioctl_trans *next;
-};
+#define register_ioctl32_conversion(cmd, handler)	({ 0; })
+#define unregister_ioctl32_conversion(cmd)		({ 0; })
+
+#endif
 
 #endif
diff -puN fs/compat.c~megaraid-build-fix fs/compat.c
--- 25/fs/compat.c~megaraid-build-fix	2004-08-19 01:57:05.736520808 -0700
+++ 25-akpm/fs/compat.c	2004-08-19 01:57:33.169350384 -0700
@@ -291,8 +291,8 @@ static int __init init_sys32_ioctl(void)
 
 __initcall(init_sys32_ioctl);
 
-int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int,
-				unsigned int, unsigned long, struct file *))
+int register_ioctl32_conversion(unsigned int cmd,
+				ioctl_trans_handler_t handler)
 {
 	struct ioctl_trans *t;
 	struct ioctl_trans *new_t;
_