From: Jean Delvare Date: Sun, 10 Dec 2006 20:21:30 +0000 (+0100) Subject: i2c: Use put_user instead of copy_to_user where possible X-Git-Tag: v2.6.20-rc1~146^2~2^2~10 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=2c003e8e1c0c241aec162ba9ec781089c5b2ff3f;p=linux-2.6-omap-h63xx.git 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 Laughed-at-by: Mark M. Hoffman --- 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,