git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
drivers
/
char
/
scx200_gpio.c
diff --git
a/drivers/char/scx200_gpio.c
b/drivers/char/scx200_gpio.c
index
3758fb1
..
70b5e94
100644
(file)
--- a/
drivers/char/scx200_gpio.c
+++ b/
drivers/char/scx200_gpio.c
@@
-26,15
+26,12
@@
static int major = 0; /* default to dynamic major */
MODULE_PARM(major, "i");
MODULE_PARM_DESC(major, "Major device number");
MODULE_PARM(major, "i");
MODULE_PARM_DESC(major, "Major device number");
-static ssize_t scx200_gpio_write(struct file *file, const char *data,
+static ssize_t scx200_gpio_write(struct file *file, const char
__user
*data,
size_t len, loff_t *ppos)
{
unsigned m = iminor(file->f_dentry->d_inode);
size_t i;
size_t len, loff_t *ppos)
{
unsigned m = iminor(file->f_dentry->d_inode);
size_t i;
- if (ppos != &file->f_pos)
- return -ESPIPE;
-
for (i = 0; i < len; ++i) {
char c;
if (get_user(c, data+i))
for (i = 0; i < len; ++i) {
char c;
if (get_user(c, data+i))
@@
-77,15
+74,12
@@
static ssize_t scx200_gpio_write(struct file *file, const char *data,
return len;
}
return len;
}
-static ssize_t scx200_gpio_read(struct file *file, char *buf,
+static ssize_t scx200_gpio_read(struct file *file, char
__user
*buf,
size_t len, loff_t *ppos)
{
unsigned m = iminor(file->f_dentry->d_inode);
int value;
size_t len, loff_t *ppos)
{
unsigned m = iminor(file->f_dentry->d_inode);
int value;
- if (ppos != &file->f_pos)
- return -ESPIPE;
-
value = scx200_gpio_get(m);
if (put_user(value ? '1' : '0', buf))
return -EFAULT;
value = scx200_gpio_get(m);
if (put_user(value ? '1' : '0', buf))
return -EFAULT;
@@
-98,7
+92,7
@@
static int scx200_gpio_open(struct inode *inode, struct file *file)
unsigned m = iminor(inode);
if (m > 63)
return -EINVAL;
unsigned m = iminor(inode);
if (m > 63)
return -EINVAL;
- return
0
;
+ return
nonseekable_open(inode, file)
;
}
static int scx200_gpio_release(struct inode *inode, struct file *file)
}
static int scx200_gpio_release(struct inode *inode, struct file *file)