mirror of https://gitee.com/openkylin/linux.git
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: 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>
This commit is contained in:
parent
acc7720de3
commit
e74dc5c763
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue