diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-04-26 18:24:05 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2010-05-16 23:27:41 -0400 |
commit | 55929332c92e5d34d65a8f784604c92677ea3e15 (patch) | |
tree | 555e922d470336d07ace32bb564ac5358379a3c4 /drivers/pcmcia | |
parent | 703c631ebbcadcfd861d01e697fdda7c388fec9a (diff) |
drivers: Push down BKL into various drivers
These are the last remaining device drivers using
the ->ioctl file operation in the drivers directory
(except from v4l drivers).
[fweisbec: drop i8k pushdown as it has been done from
procfs pushdown branch already]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/pcmcia_ioctl.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c index 7631faa0cadd..838bbf6bca83 100644 --- a/drivers/pcmcia/pcmcia_ioctl.c +++ b/drivers/pcmcia/pcmcia_ioctl.c | |||
@@ -818,8 +818,7 @@ static u_int ds_poll(struct file *file, poll_table *wait) | |||
818 | 818 | ||
819 | /*====================================================================*/ | 819 | /*====================================================================*/ |
820 | 820 | ||
821 | static int ds_ioctl(struct inode *inode, struct file *file, | 821 | static int ds_ioctl(struct file *file, u_int cmd, u_long arg) |
822 | u_int cmd, u_long arg) | ||
823 | { | 822 | { |
824 | struct pcmcia_socket *s; | 823 | struct pcmcia_socket *s; |
825 | void __user *uarg = (char __user *)arg; | 824 | void __user *uarg = (char __user *)arg; |
@@ -1026,13 +1025,25 @@ free_out: | |||
1026 | return err; | 1025 | return err; |
1027 | } /* ds_ioctl */ | 1026 | } /* ds_ioctl */ |
1028 | 1027 | ||
1028 | static long ds_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | ||
1029 | { | ||
1030 | int ret; | ||
1031 | |||
1032 | lock_kernel(); | ||
1033 | ret = ds_ioctl(file, cmd, arg); | ||
1034 | unlock_kernel(); | ||
1035 | |||
1036 | return ret; | ||
1037 | } | ||
1038 | |||
1039 | |||
1029 | /*====================================================================*/ | 1040 | /*====================================================================*/ |
1030 | 1041 | ||
1031 | static const struct file_operations ds_fops = { | 1042 | static const struct file_operations ds_fops = { |
1032 | .owner = THIS_MODULE, | 1043 | .owner = THIS_MODULE, |
1033 | .open = ds_open, | 1044 | .open = ds_open, |
1034 | .release = ds_release, | 1045 | .release = ds_release, |
1035 | .ioctl = ds_ioctl, | 1046 | .unlocked_ioctl = ds_unlocked_ioctl, |
1036 | .read = ds_read, | 1047 | .read = ds_read, |
1037 | .write = ds_write, | 1048 | .write = ds_write, |
1038 | .poll = ds_poll, | 1049 | .poll = ds_poll, |