# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/08/27 10:32:29-07:00 akpm@osdl.org # [PATCH] [un]register_ioctl32_conversion() stubs # # 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 # Signed-off-by: Linus Torvalds # # fs/compat.c # 2004/08/27 00:26:26-07:00 akpm@osdl.org +2 -2 # [un]register_ioctl32_conversion() stubs # # include/linux/ioctl32.h # 2004/08/26 23:30:32-07:00 akpm@osdl.org +17 -8 # [un]register_ioctl32_conversion() stubs # diff -Naru a/fs/compat.c b/fs/compat.c --- a/fs/compat.c 2005-10-26 01:53:18 -07:00 +++ b/fs/compat.c 2005-10-26 01:53:18 -07:00 @@ -291,8 +291,8 @@ __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; diff -Naru a/include/linux/ioctl32.h b/include/linux/ioctl32.h --- a/include/linux/ioctl32.h 2005-10-26 01:53:18 -07:00 +++ b/include/linux/ioctl32.h 2005-10-26 01:53:18 -07:00 @@ -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 *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