Skip to content

Commit 6be871d

Browse files
committed
spi: use 'time_left' instead of 'timeout' with
Merge series from Wolfram Sang <[email protected]>: There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_for_*() functions 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 obvious and self explaining. This is part of a tree-wide series. The rest of the patches can be found here (some parts may still be WIP): git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/time_left Because these patches are generated, I audit them before sending. This is why I will send series step by step. Build bot is happy with these patches, though. No functional changes intended.
2 parents 78d9435 + 594aa75 commit 6be871d

File tree

8 files changed

+45
-43
lines changed

8 files changed

+45
-43
lines changed

drivers/spi/spi-armada-3700.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ static irqreturn_t a3700_spi_interrupt(int irq, void *dev_id)
339339
static bool a3700_spi_wait_completion(struct spi_device *spi)
340340
{
341341
struct a3700_spi *a3700_spi;
342-
unsigned int timeout;
342+
unsigned long time_left;
343343
unsigned int ctrl_reg;
344344
unsigned long timeout_jiffies;
345345

@@ -361,12 +361,12 @@ static bool a3700_spi_wait_completion(struct spi_device *spi)
361361
a3700_spi->wait_mask);
362362

363363
timeout_jiffies = msecs_to_jiffies(A3700_SPI_TIMEOUT);
364-
timeout = wait_for_completion_timeout(&a3700_spi->done,
365-
timeout_jiffies);
364+
time_left = wait_for_completion_timeout(&a3700_spi->done,
365+
timeout_jiffies);
366366

367367
a3700_spi->wait_mask = 0;
368368

369-
if (timeout)
369+
if (time_left)
370370
return true;
371371

372372
/* there might be the case that right after we checked the

drivers/spi/spi-fsl-lpspi.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ static int fsl_lpspi_dma_transfer(struct spi_controller *controller,
553553
{
554554
struct dma_async_tx_descriptor *desc_tx, *desc_rx;
555555
unsigned long transfer_timeout;
556-
unsigned long timeout;
556+
unsigned long time_left;
557557
struct sg_table *tx = &transfer->tx_sg, *rx = &transfer->rx_sg;
558558
int ret;
559559

@@ -594,19 +594,19 @@ static int fsl_lpspi_dma_transfer(struct spi_controller *controller,
594594
transfer->len);
595595

596596
/* Wait eDMA to finish the data transfer.*/
597-
timeout = wait_for_completion_timeout(&fsl_lpspi->dma_tx_completion,
598-
transfer_timeout);
599-
if (!timeout) {
597+
time_left = wait_for_completion_timeout(&fsl_lpspi->dma_tx_completion,
598+
transfer_timeout);
599+
if (!time_left) {
600600
dev_err(fsl_lpspi->dev, "I/O Error in DMA TX\n");
601601
dmaengine_terminate_all(controller->dma_tx);
602602
dmaengine_terminate_all(controller->dma_rx);
603603
fsl_lpspi_reset(fsl_lpspi);
604604
return -ETIMEDOUT;
605605
}
606606

607-
timeout = wait_for_completion_timeout(&fsl_lpspi->dma_rx_completion,
608-
transfer_timeout);
609-
if (!timeout) {
607+
time_left = wait_for_completion_timeout(&fsl_lpspi->dma_rx_completion,
608+
transfer_timeout);
609+
if (!time_left) {
610610
dev_err(fsl_lpspi->dev, "I/O Error in DMA RX\n");
611611
dmaengine_terminate_all(controller->dma_tx);
612612
dmaengine_terminate_all(controller->dma_rx);

drivers/spi/spi-imx.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1405,7 +1405,7 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
14051405
{
14061406
struct dma_async_tx_descriptor *desc_tx, *desc_rx;
14071407
unsigned long transfer_timeout;
1408-
unsigned long timeout;
1408+
unsigned long time_left;
14091409
struct spi_controller *controller = spi_imx->controller;
14101410
struct sg_table *tx = &transfer->tx_sg, *rx = &transfer->rx_sg;
14111411
struct scatterlist *last_sg = sg_last(rx->sgl, rx->nents);
@@ -1471,18 +1471,18 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
14711471
transfer_timeout = spi_imx_calculate_timeout(spi_imx, transfer->len);
14721472

14731473
/* Wait SDMA to finish the data transfer.*/
1474-
timeout = wait_for_completion_timeout(&spi_imx->dma_tx_completion,
1474+
time_left = wait_for_completion_timeout(&spi_imx->dma_tx_completion,
14751475
transfer_timeout);
1476-
if (!timeout) {
1476+
if (!time_left) {
14771477
dev_err(spi_imx->dev, "I/O Error in DMA TX\n");
14781478
dmaengine_terminate_all(controller->dma_tx);
14791479
dmaengine_terminate_all(controller->dma_rx);
14801480
return -ETIMEDOUT;
14811481
}
14821482

1483-
timeout = wait_for_completion_timeout(&spi_imx->dma_rx_completion,
1484-
transfer_timeout);
1485-
if (!timeout) {
1483+
time_left = wait_for_completion_timeout(&spi_imx->dma_rx_completion,
1484+
transfer_timeout);
1485+
if (!time_left) {
14861486
dev_err(&controller->dev, "I/O Error in DMA RX\n");
14871487
spi_imx->devtype_data->reset(spi_imx);
14881488
dmaengine_terminate_all(controller->dma_rx);
@@ -1501,7 +1501,7 @@ static int spi_imx_pio_transfer(struct spi_device *spi,
15011501
{
15021502
struct spi_imx_data *spi_imx = spi_controller_get_devdata(spi->controller);
15031503
unsigned long transfer_timeout;
1504-
unsigned long timeout;
1504+
unsigned long time_left;
15051505

15061506
spi_imx->tx_buf = transfer->tx_buf;
15071507
spi_imx->rx_buf = transfer->rx_buf;
@@ -1517,9 +1517,9 @@ static int spi_imx_pio_transfer(struct spi_device *spi,
15171517

15181518
transfer_timeout = spi_imx_calculate_timeout(spi_imx, transfer->len);
15191519

1520-
timeout = wait_for_completion_timeout(&spi_imx->xfer_done,
1521-
transfer_timeout);
1522-
if (!timeout) {
1520+
time_left = wait_for_completion_timeout(&spi_imx->xfer_done,
1521+
transfer_timeout);
1522+
if (!time_left) {
15231523
dev_err(&spi->dev, "I/O Error in PIO\n");
15241524
spi_imx->devtype_data->reset(spi_imx);
15251525
return -ETIMEDOUT;

drivers/spi/spi-pic32-sqi.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ static int pic32_sqi_one_message(struct spi_controller *host,
344344
struct spi_transfer *xfer;
345345
struct pic32_sqi *sqi;
346346
int ret = 0, mode;
347-
unsigned long timeout;
347+
unsigned long time_left;
348348
u32 val;
349349

350350
sqi = spi_controller_get_devdata(host);
@@ -410,8 +410,8 @@ static int pic32_sqi_one_message(struct spi_controller *host,
410410
writel(val, sqi->regs + PESQI_BD_CTRL_REG);
411411

412412
/* wait for xfer completion */
413-
timeout = wait_for_completion_timeout(&sqi->xfer_done, 5 * HZ);
414-
if (timeout == 0) {
413+
time_left = wait_for_completion_timeout(&sqi->xfer_done, 5 * HZ);
414+
if (time_left == 0) {
415415
dev_err(&sqi->host->dev, "wait timedout/interrupted\n");
416416
ret = -ETIMEDOUT;
417417
msg->status = ret;

drivers/spi/spi-pic32.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ static int pic32_spi_one_transfer(struct spi_controller *host,
498498
{
499499
struct pic32_spi *pic32s;
500500
bool dma_issued = false;
501-
unsigned long timeout;
501+
unsigned long time_left;
502502
int ret;
503503

504504
pic32s = spi_controller_get_devdata(host);
@@ -545,8 +545,8 @@ static int pic32_spi_one_transfer(struct spi_controller *host,
545545
}
546546

547547
/* wait for completion */
548-
timeout = wait_for_completion_timeout(&pic32s->xfer_done, 2 * HZ);
549-
if (timeout == 0) {
548+
time_left = wait_for_completion_timeout(&pic32s->xfer_done, 2 * HZ);
549+
if (time_left == 0) {
550550
dev_err(&spi->dev, "wait error/timedout\n");
551551
if (dma_issued) {
552552
dmaengine_terminate_all(host->dma_rx);

drivers/spi/spi-sun4i.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,8 @@ static int sun4i_spi_transfer_one(struct spi_controller *host,
206206
struct spi_transfer *tfr)
207207
{
208208
struct sun4i_spi *sspi = spi_controller_get_devdata(host);
209-
unsigned int mclk_rate, div, timeout;
209+
unsigned int mclk_rate, div;
210+
unsigned long time_left;
210211
unsigned int start, end, tx_time;
211212
unsigned int tx_len = 0;
212213
int ret = 0;
@@ -327,10 +328,10 @@ static int sun4i_spi_transfer_one(struct spi_controller *host,
327328

328329
tx_time = max(tfr->len * 8 * 2 / (tfr->speed_hz / 1000), 100U);
329330
start = jiffies;
330-
timeout = wait_for_completion_timeout(&sspi->done,
331-
msecs_to_jiffies(tx_time));
331+
time_left = wait_for_completion_timeout(&sspi->done,
332+
msecs_to_jiffies(tx_time));
332333
end = jiffies;
333-
if (!timeout) {
334+
if (!time_left) {
334335
dev_warn(&host->dev,
335336
"%s: timeout transferring %u bytes@%iHz for %i(%i)ms",
336337
dev_name(&spi->dev), tfr->len, tfr->speed_hz,

drivers/spi/spi-sun6i.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,8 @@ static int sun6i_spi_transfer_one(struct spi_controller *host,
277277
struct spi_transfer *tfr)
278278
{
279279
struct sun6i_spi *sspi = spi_controller_get_devdata(host);
280-
unsigned int div, div_cdr1, div_cdr2, timeout;
280+
unsigned int div, div_cdr1, div_cdr2;
281+
unsigned long time_left;
281282
unsigned int start, end, tx_time;
282283
unsigned int trig_level;
283284
unsigned int tx_len = 0, rx_len = 0, nbits = 0;
@@ -488,26 +489,26 @@ static int sun6i_spi_transfer_one(struct spi_controller *host,
488489

489490
tx_time = spi_controller_xfer_timeout(host, tfr);
490491
start = jiffies;
491-
timeout = wait_for_completion_timeout(&sspi->done,
492-
msecs_to_jiffies(tx_time));
492+
time_left = wait_for_completion_timeout(&sspi->done,
493+
msecs_to_jiffies(tx_time));
493494

494495
if (!use_dma) {
495496
sun6i_spi_drain_fifo(sspi);
496497
} else {
497-
if (timeout && rx_len) {
498+
if (time_left && rx_len) {
498499
/*
499500
* Even though RX on the peripheral side has finished
500501
* RX DMA might still be in flight
501502
*/
502-
timeout = wait_for_completion_timeout(&sspi->dma_rx_done,
503-
timeout);
504-
if (!timeout)
503+
time_left = wait_for_completion_timeout(&sspi->dma_rx_done,
504+
time_left);
505+
if (!time_left)
505506
dev_warn(&host->dev, "RX DMA timeout\n");
506507
}
507508
}
508509

509510
end = jiffies;
510-
if (!timeout) {
511+
if (!time_left) {
511512
dev_warn(&host->dev,
512513
"%s: timeout transferring %u bytes@%iHz for %i(%i)ms",
513514
dev_name(&spi->dev), tfr->len, tfr->speed_hz,

drivers/spi/spi-xlp.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ static int xlp_spi_xfer_block(struct xlp_spi_priv *xs,
270270
const unsigned char *tx_buf,
271271
unsigned char *rx_buf, int xfer_len, int cmd_cont)
272272
{
273-
int timeout;
273+
unsigned long time_left;
274274
u32 intr_mask = 0;
275275

276276
xs->tx_buf = tx_buf;
@@ -299,11 +299,11 @@ static int xlp_spi_xfer_block(struct xlp_spi_priv *xs,
299299
intr_mask |= XLP_SPI_INTR_DONE;
300300
xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, intr_mask);
301301

302-
timeout = wait_for_completion_timeout(&xs->done,
303-
msecs_to_jiffies(1000));
302+
time_left = wait_for_completion_timeout(&xs->done,
303+
msecs_to_jiffies(1000));
304304
/* Disable interrupts */
305305
xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, 0x0);
306-
if (!timeout) {
306+
if (!time_left) {
307307
dev_err(&xs->dev, "xfer timedout!\n");
308308
goto out;
309309
}

0 commit comments

Comments
 (0)