aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/scx200_gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/scx200_gpio.c')
-rw-r--r--drivers/char/scx200_gpio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/char/scx200_gpio.c b/drivers/char/scx200_gpio.c
index be2c623a9862..1d9100561c8a 100644
--- a/drivers/char/scx200_gpio.c
+++ b/drivers/char/scx200_gpio.c
@@ -12,6 +12,7 @@
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/platform_device.h> 14#include <linux/platform_device.h>
15#include <linux/smp_lock.h>
15#include <asm/uaccess.h> 16#include <asm/uaccess.h>
16#include <asm/io.h> 17#include <asm/io.h>
17 18
@@ -46,12 +47,12 @@ struct nsc_gpio_ops scx200_gpio_ops = {
46}; 47};
47EXPORT_SYMBOL_GPL(scx200_gpio_ops); 48EXPORT_SYMBOL_GPL(scx200_gpio_ops);
48 49
49/* No BKL needed here: no global resources used */
50static int scx200_gpio_open(struct inode *inode, struct file *file) 50static int scx200_gpio_open(struct inode *inode, struct file *file)
51{ 51{
52 unsigned m = iminor(inode); 52 unsigned m = iminor(inode);
53 file->private_data = &scx200_gpio_ops; 53 file->private_data = &scx200_gpio_ops;
54 54
55 cycle_kernel_lock();
55 if (m >= MAX_PINS) 56 if (m >= MAX_PINS)
56 return -EINVAL; 57 return -EINVAL;
57 return nonseekable_open(inode, file); 58 return nonseekable_open(inode, file);