git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a bunch of cycle_kernel_lock() calls
[pandora-kernel.git]
/
drivers
/
char
/
pc8736x_gpio.c
diff --git
a/drivers/char/pc8736x_gpio.c
b/drivers/char/pc8736x_gpio.c
index
645eb81
..
b930de5
100644
(file)
--- a/
drivers/char/pc8736x_gpio.c
+++ b/
drivers/char/pc8736x_gpio.c
@@
-20,6
+20,7
@@
#include <linux/mutex.h>
#include <linux/nsc_gpio.h>
#include <linux/platform_device.h>
#include <linux/mutex.h>
#include <linux/nsc_gpio.h>
#include <linux/platform_device.h>
+#include <linux/smp_lock.h>
#include <asm/uaccess.h>
#define DEVNAME "pc8736x_gpio"
#include <asm/uaccess.h>
#define DEVNAME "pc8736x_gpio"
@@
-188,16
+189,6
@@
static void pc8736x_gpio_set(unsigned minor, int val)
pc8736x_gpio_shadow[port] = val;
}
pc8736x_gpio_shadow[port] = val;
}
-static void pc8736x_gpio_set_high(unsigned index)
-{
- pc8736x_gpio_set(index, 1);
-}
-
-static void pc8736x_gpio_set_low(unsigned index)
-{
- pc8736x_gpio_set(index, 0);
-}
-
static int pc8736x_gpio_current(unsigned minor)
{
int port, bit;
static int pc8736x_gpio_current(unsigned minor)
{
int port, bit;
@@
-221,13
+212,13
@@
static struct nsc_gpio_ops pc8736x_gpio_ops = {
.gpio_change = pc8736x_gpio_change,
.gpio_current = pc8736x_gpio_current
};
.gpio_change = pc8736x_gpio_change,
.gpio_current = pc8736x_gpio_current
};
-EXPORT_SYMBOL(pc8736x_gpio_ops);
static int pc8736x_gpio_open(struct inode *inode, struct file *file)
{
unsigned m = iminor(inode);
file->private_data = &pc8736x_gpio_ops;
static int pc8736x_gpio_open(struct inode *inode, struct file *file)
{
unsigned m = iminor(inode);
file->private_data = &pc8736x_gpio_ops;
+ cycle_kernel_lock();
dev_dbg(&pdev->dev, "open %d\n", m);
if (m >= PC8736X_GPIO_CT)
dev_dbg(&pdev->dev, "open %d\n", m);
if (m >= PC8736X_GPIO_CT)