diff options
| -rw-r--r-- | drivers/i2c/i2c-dev.c | 6 | ||||
| -rw-r--r-- | include/linux/i2c-dev.h | 2 | ||||
| -rw-r--r-- | include/linux/i2c.h | 2 | 
3 files changed, 7 insertions, 3 deletions
diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c index c171988a9f5..7e13d2df9af 100644 --- a/drivers/i2c/i2c-dev.c +++ b/drivers/i2c/i2c-dev.c @@ -35,6 +35,7 @@  #include <linux/i2c.h>  #include <linux/i2c-dev.h>  #include <linux/smp_lock.h> +#include <linux/jiffies.h>  #include <asm/uaccess.h>  static struct i2c_driver i2cdev_driver; @@ -422,7 +423,10 @@ static long i2cdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg)  		client->adapter->retries = arg;  		break;  	case I2C_TIMEOUT: -		client->adapter->timeout = arg; +		/* For historical reasons, user-space sets the timeout +		 * value in units of 10 ms. +		 */ +		client->adapter->timeout = msecs_to_jiffies(arg * 10);  		break;  	default:  		/* NOTE:  returning a fault code here could cause trouble diff --git a/include/linux/i2c-dev.h b/include/linux/i2c-dev.h index 311315b56b6..fd53bfd2647 100644 --- a/include/linux/i2c-dev.h +++ b/include/linux/i2c-dev.h @@ -33,7 +33,7 @@   */  #define I2C_RETRIES	0x0701	/* number of times a device address should  				   be polled when not acknowledging */ -#define I2C_TIMEOUT	0x0702	/* set timeout in jiffies - call with int */ +#define I2C_TIMEOUT	0x0702	/* set timeout in units of 10 ms */  /* NOTE: Slave address is 7 or 10 bits, but 10-bit addresses   * are NOT supported! (due to code brokenness) diff --git a/include/linux/i2c.h b/include/linux/i2c.h index fcfbfea3af7..c86c3b07604 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -361,7 +361,7 @@ struct i2c_adapter {  	struct mutex bus_lock;  	struct mutex clist_lock; -	int timeout; +	int timeout;			/* in jiffies */  	int retries;  	struct device dev;		/* the adapter device */  |