Convert megaraid2 to compat_ioctl
Subsystems (2)
PATCH 1/1 Convert megaraid2 to compat_ioctl
Convert megaraid2 driver to new compat_ioctl entry points.
I don't have easy access to hardware, so only compile tested.
Signed-off-by Andi Kleen <[email protected]>
drivers/scsi/megaraid/megaraid_mm.c renamed from drivers/scsi/megaraid/megaraid_mm.c-o +14 -12
@@ -16,6 +16,7 @@*/ #include "megaraid_mm.h" +#include <linux/smp_lock.h> // Entry points for char node driver
@@ -43,8 +44,7 @@static void mraid_mm_teardown_dma_pools (mraid_mmadp_t *);#ifdef CONFIG_COMPAT -static int mraid_mm_compat_ioctl (unsigned int ,unsigned int ,unsigned long , -struct file *); +static long mraid_mm_compat_ioctl (struct file *,unsigned int ,unsigned long );#endif MODULE_AUTHOR ("LSI Logic Corporation" );
@@ -70,6 +70,9 @@static struct file_operations lsi_fops = { .open = mraid_mm_open, .ioctl = mraid_mm_ioctl, +#ifdef CONFIG_COMPAT + .compat_ioctl = mraid_mm_compat_ioctl, +#endif .owner =THIS_MODULE , };
@@ -1180,8 +1183,6 @@INIT_LIST_HEAD (&adapters_list_g); -register_ioctl32_conversion (MEGAIOCCMD , mraid_mm_compat_ioctl); -return 0 ; }
@@ -1190,13 +1191,15 @@* mraid_mm_compat_ioctl : 32bit to 64bit ioctl conversion routine */ #ifdef CONFIG_COMPAT -static int -mraid_mm_compat_ioctl (unsigned int fd,unsigned int cmd, -unsigned long arg,struct file *filep) -{ -struct inode *inode = filep->f_dentry->d_inode; - -return mraid_mm_ioctl (inode, filep, cmd, arg); +static long +mraid_mm_compat_ioctl (struct file *filep,unsigned int cmd, +unsigned long arg) +{ +int err; +lock_kernel (); + err =mraid_mm_ioctl (NULL , filep, cmd, arg); +unlock_kernel (); +return err; }#endif
@@ -1209,7 +1212,6 @@con_log (CL_DLEVEL1 , ("exiting common mod\n" ));unregister_chrdev (majorno,"megadev" ); -unregister_ioctl32_conversion (MEGAIOCCMD ); }module_init (mraid_mm_init);