spi: sun6i: use 'time_left' variable with wait_for_completion_timeout()
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 30 Apr 2024 11:41:39 +0000 (13:41 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 30 Apr 2024 14:57:31 +0000 (23:57 +0900)
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@sang-engineering.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Link: https://lore.kernel.org/r/20240430114142.28551-8-wsa+renesas@sang-engineering.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-sun6i.c

index cd018ea1abf148e3c805c24c772de8f06a870cd1..5c26bf056293f661a9acb7935964361d01ce94ee 100644 (file)
@@ -277,7 +277,8 @@ static int sun6i_spi_transfer_one(struct spi_controller *host,
                                  struct spi_transfer *tfr)
 {
        struct sun6i_spi *sspi = spi_controller_get_devdata(host);
-       unsigned int div, div_cdr1, div_cdr2, timeout;
+       unsigned int div, div_cdr1, div_cdr2;
+       unsigned long time_left;
        unsigned int start, end, tx_time;
        unsigned int trig_level;
        unsigned int tx_len = 0, rx_len = 0, nbits = 0;
@@ -488,26 +489,26 @@ static int sun6i_spi_transfer_one(struct spi_controller *host,
 
        tx_time = spi_controller_xfer_timeout(host, tfr);
        start = jiffies;
-       timeout = wait_for_completion_timeout(&sspi->done,
-                                             msecs_to_jiffies(tx_time));
+       time_left = wait_for_completion_timeout(&sspi->done,
+                                               msecs_to_jiffies(tx_time));
 
        if (!use_dma) {
                sun6i_spi_drain_fifo(sspi);
        } else {
-               if (timeout && rx_len) {
+               if (time_left && rx_len) {
                        /*
                         * Even though RX on the peripheral side has finished
                         * RX DMA might still be in flight
                         */
-                       timeout = wait_for_completion_timeout(&sspi->dma_rx_done,
-                                                             timeout);
-                       if (!timeout)
+                       time_left = wait_for_completion_timeout(&sspi->dma_rx_done,
+                                                               time_left);
+                       if (!time_left)
                                dev_warn(&host->dev, "RX DMA timeout\n");
                }
        }
 
        end = jiffies;
-       if (!timeout) {
+       if (!time_left) {
                dev_warn(&host->dev,
                         "%s: timeout transferring %u bytes@%iHz for %i(%i)ms",
                         dev_name(&spi->dev), tfr->len, tfr->speed_hz,