spi: Use reinit_completion at appropriate places
authorAxel Lin <axel.lin@ingics.com>
Sun, 9 Feb 2014 03:06:04 +0000 (11:06 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 10 Feb 2014 12:32:16 +0000 (12:32 +0000)
Calling init_completion() once is enough.
For the rest of the iterations, call reinit_completion() instead.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-bcm63xx-hsspi.c
drivers/spi/spi-bcm63xx.c
drivers/spi/spi-efm32.c
drivers/spi/spi-imx.c

index b528f9fc8bc01959a4746f4a239b8c43b31e0577..3ad3e0c599928800a746b5c657694083269b2e3a 100644 (file)
@@ -180,7 +180,7 @@ static int bcm63xx_hsspi_do_txrx(struct spi_device *spi, struct spi_transfer *t)
        while (pending > 0) {
                int curr_step = min_t(int, step_size, pending);
 
-               init_completion(&bs->done);
+               reinit_completion(&bs->done);
                if (tx) {
                        memcpy_toio(bs->fifo + HSSPI_OPCODE_LEN, tx, curr_step);
                        tx += curr_step;
@@ -369,6 +369,7 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev)
        bs->fifo = (u8 __iomem *)(bs->regs + HSSPI_FIFO_REG(0));
 
        mutex_init(&bs->bus_mutex);
+       init_completion(&bs->done);
 
        master->bus_num = HSSPI_BUS_NUM;
        master->num_chipselect = 8;
index 77286aef2adfc9e5495704405f4c76f45855b1a0..161c7910a81848281ba8e7b9ef957029ecd2099a 100644 (file)
@@ -169,7 +169,7 @@ static int bcm63xx_txrx_bufs(struct spi_device *spi, struct spi_transfer *first,
                               transfer_list);
        }
 
-       init_completion(&bs->done);
+       reinit_completion(&bs->done);
 
        /* Fill in the Message control register */
        msg_ctl = (len << SPI_BYTE_CNT_SHIFT);
@@ -353,6 +353,7 @@ static int bcm63xx_spi_probe(struct platform_device *pdev)
        }
 
        bs = spi_master_get_devdata(master);
+       init_completion(&bs->done);
 
        platform_set_drvdata(pdev, master);
        bs->pdev = pdev;
index d4d3cc534792ad024d9680f8e52025460f26e7b3..03cbb5eb33d6bc63518638e2354fc8435bb5a311 100644 (file)
@@ -198,7 +198,7 @@ static int efm32_spi_txrx_bufs(struct spi_device *spi, struct spi_transfer *t)
 
        efm32_spi_filltx(ddata);
 
-       init_completion(&ddata->done);
+       reinit_completion(&ddata->done);
 
        efm32_spi_write32(ddata, REG_IF_TXBL | REG_IF_RXDATAV, REG_IEN);
 
@@ -349,6 +349,7 @@ static int efm32_spi_probe(struct platform_device *pdev)
        ddata->bitbang.txrx_bufs = efm32_spi_txrx_bufs;
 
        spin_lock_init(&ddata->lock);
+       init_completion(&ddata->done);
 
        ddata->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(ddata->clk)) {
index a5474ef9d2a0cf4ad7367ee1e0399fae2e982145..6bb0b693c98c473445bc3d6c40558fee344bafae 100644 (file)
@@ -741,7 +741,7 @@ static int spi_imx_transfer(struct spi_device *spi,
        spi_imx->count = transfer->len;
        spi_imx->txfifo = 0;
 
-       init_completion(&spi_imx->xfer_done);
+       reinit_completion(&spi_imx->xfer_done);
 
        spi_imx_push(spi_imx);