Commit 21062f4c authored by Andi Kleen's avatar Andi Kleen Committed by James Bottomley

[PATCH] Convert megaraid2 to compat_ioctl

Convert megaraid2 driver to new compat_ioctl entry points.
Signed-off-by: default avatarAndi Kleen <ak@muc.de>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 05bb8b5f
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
#include "megaraid_mm.h" #include "megaraid_mm.h"
#include <linux/smp_lock.h>
// Entry points for char node driver // Entry points for char node driver
...@@ -43,8 +44,7 @@ static void mraid_mm_free_adp_resources(mraid_mmadp_t *); ...@@ -43,8 +44,7 @@ static void mraid_mm_free_adp_resources(mraid_mmadp_t *);
static void mraid_mm_teardown_dma_pools(mraid_mmadp_t *); static void mraid_mm_teardown_dma_pools(mraid_mmadp_t *);
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
static int mraid_mm_compat_ioctl(unsigned int, unsigned int, unsigned long, static long mraid_mm_compat_ioctl(struct file *, unsigned int, unsigned long);
struct file *);
#endif #endif
MODULE_AUTHOR("LSI Logic Corporation"); MODULE_AUTHOR("LSI Logic Corporation");
...@@ -70,6 +70,9 @@ wait_queue_head_t wait_q; ...@@ -70,6 +70,9 @@ wait_queue_head_t wait_q;
static struct file_operations lsi_fops = { static struct file_operations lsi_fops = {
.open = mraid_mm_open, .open = mraid_mm_open,
.ioctl = mraid_mm_ioctl, .ioctl = mraid_mm_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = mraid_mm_compat_ioctl,
#endif
.owner = THIS_MODULE, .owner = THIS_MODULE,
}; };
...@@ -1180,8 +1183,6 @@ mraid_mm_init(void) ...@@ -1180,8 +1183,6 @@ mraid_mm_init(void)
INIT_LIST_HEAD(&adapters_list_g); INIT_LIST_HEAD(&adapters_list_g);
register_ioctl32_conversion(MEGAIOCCMD, mraid_mm_compat_ioctl);
return 0; return 0;
} }
...@@ -1190,13 +1191,15 @@ mraid_mm_init(void) ...@@ -1190,13 +1191,15 @@ mraid_mm_init(void)
* mraid_mm_compat_ioctl : 32bit to 64bit ioctl conversion routine * mraid_mm_compat_ioctl : 32bit to 64bit ioctl conversion routine
*/ */
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
static int static long
mraid_mm_compat_ioctl(unsigned int fd, unsigned int cmd, mraid_mm_compat_ioctl(struct file *filep, unsigned int cmd,
unsigned long arg, struct file *filep) unsigned long arg)
{ {
struct inode *inode = filep->f_dentry->d_inode; int err;
lock_kernel();
return mraid_mm_ioctl(inode, filep, cmd, arg); err = mraid_mm_ioctl(NULL, filep, cmd, arg);
unlock_kernel();
return err;
} }
#endif #endif
...@@ -1209,7 +1212,6 @@ mraid_mm_exit(void) ...@@ -1209,7 +1212,6 @@ mraid_mm_exit(void)
con_log(CL_DLEVEL1 , ("exiting common mod\n")); con_log(CL_DLEVEL1 , ("exiting common mod\n"));
unregister_chrdev(majorno, "megadev"); unregister_chrdev(majorno, "megadev");
unregister_ioctl32_conversion(MEGAIOCCMD);
} }
module_init(mraid_mm_init); module_init(mraid_mm_init);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment