aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/pcmcia_ioctl.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2010-04-26 18:24:05 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2010-05-16 23:27:41 -0400
commit55929332c92e5d34d65a8f784604c92677ea3e15 (patch)
tree555e922d470336d07ace32bb564ac5358379a3c4 /drivers/pcmcia/pcmcia_ioctl.c
parent703c631ebbcadcfd861d01e697fdda7c388fec9a (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/pcmcia_ioctl.c')
-rw-r--r--drivers/pcmcia/pcmcia_ioctl.c17
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
821static int ds_ioctl(struct inode *inode, struct file *file, 821static 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
1028static 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
1031static const struct file_operations ds_fops = { 1042static 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,