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/hwmon/w83793.c | |
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/hwmon/w83793.c')
-rw-r--r-- | drivers/hwmon/w83793.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/hwmon/w83793.c b/drivers/hwmon/w83793.c index 612807d97155..697202e27891 100644 --- a/drivers/hwmon/w83793.c +++ b/drivers/hwmon/w83793.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/slab.h> | 35 | #include <linux/slab.h> |
36 | #include <linux/i2c.h> | 36 | #include <linux/i2c.h> |
37 | #include <linux/hwmon.h> | 37 | #include <linux/hwmon.h> |
38 | #include <linux/smp_lock.h> | ||
38 | #include <linux/hwmon-vid.h> | 39 | #include <linux/hwmon-vid.h> |
39 | #include <linux/hwmon-sysfs.h> | 40 | #include <linux/hwmon-sysfs.h> |
40 | #include <linux/err.h> | 41 | #include <linux/err.h> |
@@ -1319,8 +1320,8 @@ static ssize_t watchdog_write(struct file *filp, const char __user *buf, | |||
1319 | return count; | 1320 | return count; |
1320 | } | 1321 | } |
1321 | 1322 | ||
1322 | static int watchdog_ioctl(struct inode *inode, struct file *filp, | 1323 | static long watchdog_ioctl(struct file *filp, unsigned int cmd, |
1323 | unsigned int cmd, unsigned long arg) | 1324 | unsigned long arg) |
1324 | { | 1325 | { |
1325 | static struct watchdog_info ident = { | 1326 | static struct watchdog_info ident = { |
1326 | .options = WDIOF_KEEPALIVEPING | | 1327 | .options = WDIOF_KEEPALIVEPING | |
@@ -1332,6 +1333,7 @@ static int watchdog_ioctl(struct inode *inode, struct file *filp, | |||
1332 | int val, ret = 0; | 1333 | int val, ret = 0; |
1333 | struct w83793_data *data = filp->private_data; | 1334 | struct w83793_data *data = filp->private_data; |
1334 | 1335 | ||
1336 | lock_kernel(); | ||
1335 | switch (cmd) { | 1337 | switch (cmd) { |
1336 | case WDIOC_GETSUPPORT: | 1338 | case WDIOC_GETSUPPORT: |
1337 | if (!nowayout) | 1339 | if (!nowayout) |
@@ -1385,7 +1387,7 @@ static int watchdog_ioctl(struct inode *inode, struct file *filp, | |||
1385 | default: | 1387 | default: |
1386 | ret = -ENOTTY; | 1388 | ret = -ENOTTY; |
1387 | } | 1389 | } |
1388 | 1390 | unlock_kernel(); | |
1389 | return ret; | 1391 | return ret; |
1390 | } | 1392 | } |
1391 | 1393 | ||
@@ -1395,7 +1397,7 @@ static const struct file_operations watchdog_fops = { | |||
1395 | .open = watchdog_open, | 1397 | .open = watchdog_open, |
1396 | .release = watchdog_close, | 1398 | .release = watchdog_close, |
1397 | .write = watchdog_write, | 1399 | .write = watchdog_write, |
1398 | .ioctl = watchdog_ioctl, | 1400 | .unlocked_ioctl = watchdog_ioctl, |
1399 | }; | 1401 | }; |
1400 | 1402 | ||
1401 | /* | 1403 | /* |