Commit 749de720 authored by Wolfram Sang's avatar Wolfram Sang Committed by Andi Shyti
Browse files

i2c: rk3x: use 'time_left' variable with wait_event_timeout()



There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_event_timeout() causing patterns like:

	timeout = wait_event_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Fix to the proper variable type 'long' while here.

Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
parent f9288ff6
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1060,7 +1060,8 @@ static int rk3x_i2c_xfer_common(struct i2c_adapter *adap,
				struct i2c_msg *msgs, int num, bool polling)
{
	struct rk3x_i2c *i2c = (struct rk3x_i2c *)adap->algo_data;
	unsigned long timeout, flags;
	unsigned long flags;
	long time_left;
	u32 val;
	int ret = 0;
	int i;
@@ -1092,20 +1093,20 @@ static int rk3x_i2c_xfer_common(struct i2c_adapter *adap,
		if (!polling) {
			rk3x_i2c_start(i2c);

			timeout = wait_event_timeout(i2c->wait, !i2c->busy,
			time_left = wait_event_timeout(i2c->wait, !i2c->busy,
						       msecs_to_jiffies(WAIT_TIMEOUT));
		} else {
			disable_irq(i2c->irq);
			rk3x_i2c_start(i2c);

			timeout = rk3x_i2c_wait_xfer_poll(i2c);
			time_left = rk3x_i2c_wait_xfer_poll(i2c);

			enable_irq(i2c->irq);
		}

		spin_lock_irqsave(&i2c->lock, flags);

		if (timeout == 0) {
		if (time_left == 0) {
			/* Force a STOP condition without interrupt */
			i2c_writel(i2c, 0, REG_IEN);
			val = i2c_readl(i2c, REG_CON) & REG_CON_TUNING_MASK;