diff options
author | Jean Delvare <khali@linux-fr.org> | 2006-12-10 21:21:30 +0100 |
---|---|---|
committer | Jean Delvare <khali@arrakis.delvare> | 2006-12-10 21:21:30 +0100 |
commit | 2c003e8e1c0c241aec162ba9ec781089c5b2ff3f (patch) | |
tree | 612ab73ce5a6810bd3fb459520798b7a62e670d3 | |
parent | 813e30e9ab917f5493147451cfdbf6356a3dcee0 (diff) |
i2c: Use put_user instead of copy_to_user where possible
This speeds up the I2C_FUNCS ioctl by 5 to 8% in my tests.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Laughed-at-by: Mark M. Hoffman <mhoffman@lightlink.com>
-rw-r--r-- | drivers/i2c/i2c-dev.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c index 2e22a2ffa60..d66cefc63df 100644 --- a/drivers/i2c/i2c-dev.c +++ b/drivers/i2c/i2c-dev.c @@ -193,8 +193,7 @@ static int i2cdev_ioctl(struct inode *inode, struct file *file, return 0; case I2C_FUNCS: funcs = i2c_get_functionality(client->adapter); - return (copy_to_user((unsigned long __user *)arg, &funcs, - sizeof(unsigned long)))?-EFAULT:0; + return put_user(funcs, (unsigned long __user *)arg); case I2C_RDWR: if (copy_from_user(&rdwr_arg, |