Commit e74dc5c7 authored by Alexandru Ardelean's avatar Alexandru Ardelean Committed by Mark Brown

spi: use new `spi_transfer_delay_exec` helper where straightforward

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: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20190926105147.7839-10-alexandru.ardelean@analog.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent acc7720d
...@@ -1366,8 +1366,7 @@ static int atmel_spi_one_transfer(struct spi_master *master, ...@@ -1366,8 +1366,7 @@ static int atmel_spi_one_transfer(struct spi_master *master,
&& as->use_pdc) && as->use_pdc)
atmel_spi_dma_unmap_xfer(master, xfer); atmel_spi_dma_unmap_xfer(master, xfer);
if (xfer->delay_usecs) spi_transfer_delay_exec(xfer);
udelay(xfer->delay_usecs);
if (xfer->cs_change) { if (xfer->cs_change) {
if (list_is_last(&xfer->transfer_list, if (list_is_last(&xfer->transfer_list,
......
...@@ -291,8 +291,7 @@ static int bcm63xx_hsspi_transfer_one(struct spi_master *master, ...@@ -291,8 +291,7 @@ static int bcm63xx_hsspi_transfer_one(struct spi_master *master,
msg->actual_length += t->len; msg->actual_length += t->len;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
if (t->cs_change) if (t->cs_change)
bcm63xx_hsspi_set_cs(bs, spi->chip_select, false); bcm63xx_hsspi_set_cs(bs, spi->chip_select, false);
......
...@@ -119,8 +119,7 @@ static int octeon_spi_do_transfer(struct octeon_spi *p, ...@@ -119,8 +119,7 @@ static int octeon_spi_do_transfer(struct octeon_spi *p,
*rx_buf++ = (u8)v; *rx_buf++ = (u8)v;
} }
if (xfer->delay_usecs) spi_transfer_delay_exec(xfer);
udelay(xfer->delay_usecs);
return xfer->len; return xfer->len;
} }
......
...@@ -827,8 +827,7 @@ static int dspi_transfer_one_message(struct spi_controller *ctlr, ...@@ -827,8 +827,7 @@ static int dspi_transfer_one_message(struct spi_controller *ctlr,
dev_err(&dspi->pdev->dev, dev_err(&dspi->pdev->dev,
"Waiting for transfer to complete failed!\n"); "Waiting for transfer to complete failed!\n");
if (transfer->delay_usecs) spi_transfer_delay_exec(transfer);
udelay(transfer->delay_usecs);
} }
out: out:
......
...@@ -427,8 +427,7 @@ static int fsl_espi_trans(struct spi_message *m, struct spi_transfer *trans) ...@@ -427,8 +427,7 @@ static int fsl_espi_trans(struct spi_message *m, struct spi_transfer *trans)
ret = fsl_espi_bufs(spi, trans); ret = fsl_espi_bufs(spi, trans);
if (trans->delay_usecs) spi_transfer_delay_exec(trans);
udelay(trans->delay_usecs);
return ret; return ret;
} }
......
...@@ -416,8 +416,7 @@ static int fsl_spi_do_one_msg(struct spi_master *master, ...@@ -416,8 +416,7 @@ static int fsl_spi_do_one_msg(struct spi_master *master,
} }
m->actual_length += t->len; m->actual_length += t->len;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
if (cs_change) { if (cs_change) {
ndelay(nsecs); ndelay(nsecs);
......
...@@ -311,8 +311,7 @@ static int mpc512x_psc_spi_msg_xfer(struct spi_master *master, ...@@ -311,8 +311,7 @@ static int mpc512x_psc_spi_msg_xfer(struct spi_master *master,
break; break;
m->actual_length += t->len; m->actual_length += t->len;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
if (cs_change) if (cs_change)
mpc512x_psc_spi_deactivate_cs(spi); mpc512x_psc_spi_deactivate_cs(spi);
......
...@@ -234,8 +234,7 @@ static void mpc52xx_psc_spi_work(struct work_struct *work) ...@@ -234,8 +234,7 @@ static void mpc52xx_psc_spi_work(struct work_struct *work)
break; break;
m->actual_length += t->len; m->actual_length += t->len;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
if (cs_change) if (cs_change)
mpc52xx_psc_spi_deactivate_cs(spi); mpc52xx_psc_spi_deactivate_cs(spi);
......
...@@ -321,8 +321,7 @@ static int omap1_spi100k_transfer_one_message(struct spi_master *master, ...@@ -321,8 +321,7 @@ static int omap1_spi100k_transfer_one_message(struct spi_master *master,
} }
} }
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
/* ignore the "leave it on after last xfer" hint */ /* ignore the "leave it on after last xfer" hint */
......
...@@ -485,12 +485,11 @@ static void giveback(struct pl022 *pl022) ...@@ -485,12 +485,11 @@ static void giveback(struct pl022 *pl022)
struct spi_transfer, transfer_list); struct spi_transfer, transfer_list);
/* Delay if requested before any change in chip select */ /* Delay if requested before any change in chip select */
if (last_transfer->delay_usecs) /*
/* * FIXME: This runs in interrupt context.
* FIXME: This runs in interrupt context. * Is this really smart?
* Is this really smart? */
*/ spi_transfer_delay_exec(last_transfer);
udelay(last_transfer->delay_usecs);
if (!last_transfer->cs_change) { if (!last_transfer->cs_change) {
struct spi_message *next_msg; struct spi_message *next_msg;
...@@ -1401,12 +1400,11 @@ static void pump_transfers(unsigned long data) ...@@ -1401,12 +1400,11 @@ static void pump_transfers(unsigned long data)
previous = list_entry(transfer->transfer_list.prev, previous = list_entry(transfer->transfer_list.prev,
struct spi_transfer, struct spi_transfer,
transfer_list); transfer_list);
if (previous->delay_usecs) /*
/* * FIXME: This runs in interrupt context.
* FIXME: This runs in interrupt context. * Is this really smart?
* Is this really smart? */
*/ spi_transfer_delay_exec(previous);
udelay(previous->delay_usecs);
/* Reselect chip select only if cs_change was requested */ /* Reselect chip select only if cs_change was requested */
if (previous->cs_change) if (previous->cs_change)
...@@ -1520,8 +1518,7 @@ static void do_polling_transfer(struct pl022 *pl022) ...@@ -1520,8 +1518,7 @@ static void do_polling_transfer(struct pl022 *pl022)
previous = previous =
list_entry(transfer->transfer_list.prev, list_entry(transfer->transfer_list.prev,
struct spi_transfer, transfer_list); struct spi_transfer, transfer_list);
if (previous->delay_usecs) spi_transfer_delay_exec(previous);
udelay(previous->delay_usecs);
if (previous->cs_change) if (previous->cs_change)
pl022_cs_control(pl022, SSP_CHIP_SELECT); pl022_cs_control(pl022, SSP_CHIP_SELECT);
} else { } else {
......
...@@ -211,8 +211,7 @@ static int sc18is602_transfer_one(struct spi_master *master, ...@@ -211,8 +211,7 @@ static int sc18is602_transfer_one(struct spi_master *master,
} }
status = 0; status = 0;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
} }
m->status = status; m->status = status;
spi_finalize_current_message(master); spi_finalize_current_message(master);
......
...@@ -190,8 +190,7 @@ static int hspi_transfer_one_message(struct spi_controller *ctlr, ...@@ -190,8 +190,7 @@ static int hspi_transfer_one_message(struct spi_controller *ctlr,
msg->actual_length += t->len; msg->actual_length += t->len;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
if (cs_change) { if (cs_change) {
ndelay(nsecs); ndelay(nsecs);
......
...@@ -1229,12 +1229,7 @@ static void pch_spi_process_messages(struct work_struct *pwork) ...@@ -1229,12 +1229,7 @@ static void pch_spi_process_messages(struct work_struct *pwork)
"%s:data->current_msg->actual_length=%d\n", "%s:data->current_msg->actual_length=%d\n",
__func__, data->current_msg->actual_length); __func__, data->current_msg->actual_length);
/* check for delay */ spi_transfer_delay_exec(data->cur_trans);
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);
}
spin_lock(&data->lock); spin_lock(&data->lock);
......
...@@ -248,8 +248,7 @@ static void txx9spi_work_one(struct txx9spi *c, struct spi_message *m) ...@@ -248,8 +248,7 @@ static void txx9spi_work_one(struct txx9spi *c, struct spi_message *m)
len -= count * wsize; len -= count * wsize;
} }
m->actual_length += t->len; m->actual_length += t->len;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
if (!cs_change) if (!cs_change)
continue; continue;
......
...@@ -188,8 +188,7 @@ static int spi_xcomm_transfer_one(struct spi_master *master, ...@@ -188,8 +188,7 @@ static int spi_xcomm_transfer_one(struct spi_master *master,
} }
status = 0; status = 0;
if (t->delay_usecs) spi_transfer_delay_exec(t);
udelay(t->delay_usecs);
is_first = false; is_first = false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment