diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.9/950-0111-i2c-bcm2835-Support-i2c-dev-ioctl-I2C_TIMEOUT.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.9/950-0111-i2c-bcm2835-Support-i2c-dev-ioctl-I2C_TIMEOUT.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.9/950-0111-i2c-bcm2835-Support-i2c-dev-ioctl-I2C_TIMEOUT.patch b/target/linux/brcm2708/patches-4.9/950-0111-i2c-bcm2835-Support-i2c-dev-ioctl-I2C_TIMEOUT.patch new file mode 100644 index 0000000..07016d9 --- /dev/null +++ b/target/linux/brcm2708/patches-4.9/950-0111-i2c-bcm2835-Support-i2c-dev-ioctl-I2C_TIMEOUT.patch @@ -0,0 +1,37 @@ +From 0c2744e901150b27a60bded1acb058ce26709d5a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org> +Date: Fri, 23 Sep 2016 04:57:17 +0200 +Subject: [PATCH] i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use i2c_adapter->timeout for the completion timeout value. The core +default is 1 second. + +Signed-off-by: Noralf Trønnes <noralf@tronnes.org> +Reviewed-by: Eric Anholt <eric@anholt.net> +--- + drivers/i2c/busses/i2c-bcm2835.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -53,8 +53,6 @@ + #define BCM2835_I2C_CDIV_MIN 0x0002 + #define BCM2835_I2C_CDIV_MAX 0xFFFE + +-#define BCM2835_I2C_TIMEOUT (msecs_to_jiffies(1000)) +- + struct bcm2835_i2c_dev { + struct device *dev; + void __iomem *regs; +@@ -242,7 +240,7 @@ static int bcm2835_i2c_xfer(struct i2c_a + bcm2835_i2c_start_transfer(i2c_dev); + + time_left = wait_for_completion_timeout(&i2c_dev->completion, +- BCM2835_I2C_TIMEOUT); ++ adap->timeout); + if (!time_left) { + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, + BCM2835_I2C_C_CLEAR); |