Unverified Commit 4e1f953a authored by Wolfram Sang's avatar Wolfram Sang Committed by Mark Brown
Browse files

ASoC: codecs: wm8996: use 'time_left' variable with wait_for_completion_timeout()



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

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

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

Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240430115438.29134-5-wsa+renesas@sang-engineering.com


Reviewed-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 19c70b46
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -655,28 +655,28 @@ static void wait_for_dc_servo(struct snd_soc_component *component, u16 mask)
	struct i2c_client *i2c = to_i2c_client(component->dev);
	struct wm8996_priv *wm8996 = snd_soc_component_get_drvdata(component);
	int ret;
	unsigned long timeout = 200;
	unsigned long time_left = 200;

	snd_soc_component_write(component, WM8996_DC_SERVO_2, mask);

	/* Use the interrupt if possible */
	do {
		if (i2c->irq) {
			timeout = wait_for_completion_timeout(&wm8996->dcs_done,
			time_left = wait_for_completion_timeout(&wm8996->dcs_done,
								msecs_to_jiffies(200));
			if (timeout == 0)
			if (time_left == 0)
				dev_err(component->dev, "DC servo timed out\n");

		} else {
			msleep(1);
			timeout--;
			time_left--;
		}

		ret = snd_soc_component_read(component, WM8996_DC_SERVO_2);
		dev_dbg(component->dev, "DC servo state: %x\n", ret);
	} while (timeout && ret & mask);
	} while (time_left && ret & mask);

	if (timeout == 0)
	if (time_left == 0)
		dev_err(component->dev, "DC servo timed out for %x\n", mask);
	else
		dev_dbg(component->dev, "DC servo complete for %x\n", mask);