]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
spi: use new `spi_transfer_delay_exec` helper where straightforward
authorAlexandru Ardelean <alexandru.ardelean@analog.com>
Thu, 26 Sep 2019 10:51:37 +0000 (13:51 +0300)
committerMark Brown <broonie@kernel.org>
Tue, 15 Oct 2019 10:51:57 +0000 (11:51 +0100)
For many places in the spi drivers, using the new `spi_transfer_delay`
helper is straightforward.
It's just replacing:
```
  if (t->delay_usecs)
     udelay(t->delay_usecs);
```
with `spi_transfer_delay(t)` which handles both `delay_usecs` and the new
`delay` field.

This change replaces in all places (in the spi drivers)  where this change
is simple.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20190926105147.7839-10-alexandru.ardelean@analog.com
Signed-off-by: Mark Brown <broonie@kernel.org>
15 files changed:
drivers/spi/spi-atmel.c
drivers/spi/spi-bcm63xx-hsspi.c
drivers/spi/spi-cavium.c
drivers/spi/spi-fsl-dspi.c
drivers/spi/spi-fsl-espi.c
drivers/spi/spi-fsl-spi.c
drivers/spi/spi-mpc512x-psc.c
drivers/spi/spi-mpc52xx-psc.c
drivers/spi/spi-omap-100k.c
drivers/spi/spi-pl022.c
drivers/spi/spi-sc18is602.c
drivers/spi/spi-sh-hspi.c
drivers/spi/spi-topcliff-pch.c
drivers/spi/spi-txx9.c
drivers/spi/spi-xcomm.c

index 1471b049f99a120fed322db981ec33ac1aee1869..e34ab587b98061c01f3d28a0399d6ead99542fb2 100644 (file)
@@ -1366,8 +1366,7 @@ static int atmel_spi_one_transfer(struct spi_master *master,
                && as->use_pdc)
                atmel_spi_dma_unmap_xfer(master, xfer);
 
-       if (xfer->delay_usecs)
-               udelay(xfer->delay_usecs);
+       spi_transfer_delay_exec(xfer);
 
        if (xfer->cs_change) {
                if (list_is_last(&xfer->transfer_list,
index c6836a931dbf957dd0b81fe01aa598953f975deb..7327309ea3d51772ad5c57edbc3d509192d93d05 100644 (file)
@@ -291,8 +291,7 @@ static int bcm63xx_hsspi_transfer_one(struct spi_master *master,
 
                msg->actual_length += t->len;
 
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
 
                if (t->cs_change)
                        bcm63xx_hsspi_set_cs(bs, spi->chip_select, false);
index 5aaf21582cb5e490070f19ddfdb50ea4e33b8fb1..6854c3ce423b35b730469d180d90e30442c4ef96 100644 (file)
@@ -119,8 +119,7 @@ static int octeon_spi_do_transfer(struct octeon_spi *p,
                        *rx_buf++ = (u8)v;
                }
 
-       if (xfer->delay_usecs)
-               udelay(xfer->delay_usecs);
+       spi_transfer_delay_exec(xfer);
 
        return xfer->len;
 }
index c0e96cc7fc5104c7a143e4d80cca0e1d5a2731e2..442cff71a0d2e95afdc378b0b1ad9d2d1b71653d 100644 (file)
@@ -827,8 +827,7 @@ static int dspi_transfer_one_message(struct spi_controller *ctlr,
                        dev_err(&dspi->pdev->dev,
                                "Waiting for transfer to complete failed!\n");
 
-               if (transfer->delay_usecs)
-                       udelay(transfer->delay_usecs);
+               spi_transfer_delay_exec(transfer);
        }
 
 out:
index f72daf66f3f3e6d1fe73b5568aa0e14349820500..e60581283a247c24c9795ffd7bdcf2fee34b0e22 100644 (file)
@@ -427,8 +427,7 @@ static int fsl_espi_trans(struct spi_message *m, struct spi_transfer *trans)
 
        ret = fsl_espi_bufs(spi, trans);
 
-       if (trans->delay_usecs)
-               udelay(trans->delay_usecs);
+       spi_transfer_delay_exec(trans);
 
        return ret;
 }
index 4b80ace1d137e9f39c722069c24fbc9faa919831..114801a32371c8f734362d3b550890d288943027 100644 (file)
@@ -416,8 +416,7 @@ static int fsl_spi_do_one_msg(struct spi_master *master,
                }
                m->actual_length += t->len;
 
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
 
                if (cs_change) {
                        ndelay(nsecs);
index a337b842ae8c555340ad22ae182957fd98b59e7f..ea1b07953d38a351e420df714aceb239843690d6 100644 (file)
@@ -311,8 +311,7 @@ static int mpc512x_psc_spi_msg_xfer(struct spi_master *master,
                        break;
                m->actual_length += t->len;
 
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
 
                if (cs_change)
                        mpc512x_psc_spi_deactivate_cs(spi);
index c7e478b9b58616b8f9e998300ea559513fd9b9dd..17935e71b02f54080009e0644e3ac66ee38d1e76 100644 (file)
@@ -234,8 +234,7 @@ static void mpc52xx_psc_spi_work(struct work_struct *work)
                                break;
                        m->actual_length += t->len;
 
-                       if (t->delay_usecs)
-                               udelay(t->delay_usecs);
+                       spi_transfer_delay_exec(t);
 
                        if (cs_change)
                                mpc52xx_psc_spi_deactivate_cs(spi);
index 43a4785fc89be879ec1f7ca929c2ea10069d23ac..5c704ba6d8ea90117458117fc26fb2367ea82393 100644 (file)
@@ -321,8 +321,7 @@ static int omap1_spi100k_transfer_one_message(struct spi_master *master,
                        }
                }
 
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
 
                /* ignore the "leave it on after last xfer" hint */
 
index 7fedea67159c5139324b02ac0859364d98861c44..3024c30e7f2ea327d7c494ab75cf3018904ba1e7 100644 (file)
@@ -485,12 +485,11 @@ static void giveback(struct pl022 *pl022)
                                        struct spi_transfer, transfer_list);
 
        /* Delay if requested before any change in chip select */
-       if (last_transfer->delay_usecs)
-               /*
-                * FIXME: This runs in interrupt context.
-                * Is this really smart?
-                */
-               udelay(last_transfer->delay_usecs);
+       /*
+        * FIXME: This runs in interrupt context.
+        * Is this really smart?
+        */
+       spi_transfer_delay_exec(last_transfer);
 
        if (!last_transfer->cs_change) {
                struct spi_message *next_msg;
@@ -1401,12 +1400,11 @@ static void pump_transfers(unsigned long data)
                previous = list_entry(transfer->transfer_list.prev,
                                        struct spi_transfer,
                                        transfer_list);
-               if (previous->delay_usecs)
-                       /*
-                        * FIXME: This runs in interrupt context.
-                        * Is this really smart?
-                        */
-                       udelay(previous->delay_usecs);
+               /*
+                * FIXME: This runs in interrupt context.
+                * Is this really smart?
+                */
+               spi_transfer_delay_exec(previous);
 
                /* Reselect chip select only if cs_change was requested */
                if (previous->cs_change)
@@ -1520,8 +1518,7 @@ static void do_polling_transfer(struct pl022 *pl022)
                        previous =
                            list_entry(transfer->transfer_list.prev,
                                       struct spi_transfer, transfer_list);
-                       if (previous->delay_usecs)
-                               udelay(previous->delay_usecs);
+                       spi_transfer_delay_exec(previous);
                        if (previous->cs_change)
                                pl022_cs_control(pl022, SSP_CHIP_SELECT);
                } else {
index 11acddc833041e4e2d958e60a9e6282462655b81..5497eeb3bf3e9166f22c1494e585a33aee3674f3 100644 (file)
@@ -211,8 +211,7 @@ static int sc18is602_transfer_one(struct spi_master *master,
                }
                status = 0;
 
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
        }
        m->status = status;
        spi_finalize_current_message(master);
index 7f73f91d412a1e2cab94085f61212485909e71eb..a62034e2a7cbfeeee8bbcff188f9ef4d68ce2ea0 100644 (file)
@@ -190,8 +190,7 @@ static int hspi_transfer_one_message(struct spi_controller *ctlr,
 
                msg->actual_length += t->len;
 
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
 
                if (cs_change) {
                        ndelay(nsecs);
index f88cbb94ce1228e5f98be6b5bf4f4bccbb72a4df..223353fa2d8ab248d0331209849857efea558a74 100644 (file)
@@ -1229,12 +1229,7 @@ static void pch_spi_process_messages(struct work_struct *pwork)
                        "%s:data->current_msg->actual_length=%d\n",
                        __func__, data->current_msg->actual_length);
 
-               /* check for delay */
-               if (data->cur_trans->delay_usecs) {
-                       dev_dbg(&data->master->dev, "%s:delay in usec=%d\n",
-                               __func__, data->cur_trans->delay_usecs);
-                       udelay(data->cur_trans->delay_usecs);
-               }
+               spi_transfer_delay_exec(data->cur_trans);
 
                spin_lock(&data->lock);
 
index 51759d3fd45f6b06a570d56093eff692d81fc6ee..83daaa597acc4f19a281d6cc93fe9cec9c88a525 100644 (file)
@@ -248,8 +248,7 @@ static void txx9spi_work_one(struct txx9spi *c, struct spi_message *m)
                        len -= count * wsize;
                }
                m->actual_length += t->len;
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
 
                if (!cs_change)
                        continue;
index a3496c46cc1b256416eade2b10de2fae1ae6fb36..1d9b3f03d986e1d3e3b26dc94ade7fa9eda0d01d 100644 (file)
@@ -188,8 +188,7 @@ static int spi_xcomm_transfer_one(struct spi_master *master,
                }
                status = 0;
 
-               if (t->delay_usecs)
-                       udelay(t->delay_usecs);
+               spi_transfer_delay_exec(t);
 
                is_first = false;
        }