Re: [PATCH 12/15] i2c: qcom-geni: use 'time_left' variable with wait_for_completion_timeout()

From: Bjorn Andersson
Date: Mon Apr 29 2024 - 22:10:48 EST


On Sat, Apr 27, 2024 at 10:36:04PM +0200, Wolfram Sang wrote:
> 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.
>
> Fix to the proper variable type 'unsigned long' while here.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>

Reviewed-by: Bjorn Andersson <quic_bjorande@xxxxxxxxxxx>

Regards,
Bjorn

> ---
> drivers/i2c/busses/i2c-qcom-geni.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
> index 090b4846ed62..0a8b95ce35f7 100644
> --- a/drivers/i2c/busses/i2c-qcom-geni.c
> +++ b/drivers/i2c/busses/i2c-qcom-geni.c
> @@ -586,7 +586,8 @@ static int geni_i2c_gpi_xfer(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[], i
> {
> struct dma_slave_config config = {};
> struct gpi_i2c_config peripheral = {};
> - int i, ret = 0, timeout;
> + int i, ret = 0;
> + unsigned long time_left;
> dma_addr_t tx_addr, rx_addr;
> void *tx_buf = NULL, *rx_buf = NULL;
> const struct geni_i2c_clk_fld *itr = gi2c->clk_fld;
> @@ -629,8 +630,8 @@ static int geni_i2c_gpi_xfer(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[], i
>
> dma_async_issue_pending(gi2c->tx_c);
>
> - timeout = wait_for_completion_timeout(&gi2c->done, XFER_TIMEOUT);
> - if (!timeout)
> + time_left = wait_for_completion_timeout(&gi2c->done, XFER_TIMEOUT);
> + if (!time_left)
> gi2c->err = -ETIMEDOUT;
>
> if (gi2c->err) {
> --
> 2.43.0
>