diff options
Diffstat (limited to 'drivers/char/cs5535_gpio.c')
-rw-r--r-- | drivers/char/cs5535_gpio.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/char/cs5535_gpio.c b/drivers/char/cs5535_gpio.c index 628e3d3249d2..04ba906b4880 100644 --- a/drivers/char/cs5535_gpio.c +++ b/drivers/char/cs5535_gpio.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/cdev.h> | 17 | #include <linux/cdev.h> |
18 | #include <linux/ioport.h> | 18 | #include <linux/ioport.h> |
19 | #include <linux/pci.h> | 19 | #include <linux/pci.h> |
20 | #include <linux/smp_lock.h> | ||
20 | #include <asm/uaccess.h> | 21 | #include <asm/uaccess.h> |
21 | #include <asm/io.h> | 22 | #include <asm/io.h> |
22 | 23 | ||
@@ -153,12 +154,11 @@ static ssize_t cs5535_gpio_read(struct file *file, char __user *buf, | |||
153 | return count; | 154 | return count; |
154 | } | 155 | } |
155 | 156 | ||
156 | /* No BKL needed here - "mask" is the only global resource used | ||
157 | here and it's a boot-time parameter */ | ||
158 | static int cs5535_gpio_open(struct inode *inode, struct file *file) | 157 | static int cs5535_gpio_open(struct inode *inode, struct file *file) |
159 | { | 158 | { |
160 | u32 m = iminor(inode); | 159 | u32 m = iminor(inode); |
161 | 160 | ||
161 | cycle_kernel_lock(); | ||
162 | /* the mask says which pins are usable by this driver */ | 162 | /* the mask says which pins are usable by this driver */ |
163 | if ((mask & (1 << m)) == 0) | 163 | if ((mask & (1 << m)) == 0) |
164 | return -EINVAL; | 164 | return -EINVAL; |