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 1471b04..e34ab58 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 c6836a9..7327309 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 5aaf215..6854c3c 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 c0e96cc..442cff7 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 f72daf6..e605812 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 4b80ace..114801a 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 a337b84..ea1b079 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 c7e478b..17935e7 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 43a4785..5c704ba 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 7fedea6..3024c30 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 11acddc..5497eeb 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 7f73f91..a62034e 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 f88cbb9..223353f 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 51759d3..83daaa5 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 a3496c4..1d9b3f0 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;
        }