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

spi: tegra20-sflash: use to new `spi_transfer_delay_exec`

This conversion to the spi_transfer_delay_exec() helper is not
straightforward, as it seems that when a delay is present, the controller
issues a command, and then a delay is followed.

This change adds support for the new `delay` field which is of type
`spi_delay` and keeps backwards compatibility with the old `delay_usecs`
field.
Signed-off-by: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20190926105147.7839-12-alexandru.ardelean@analog.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent cd13152b
...@@ -341,10 +341,11 @@ static int tegra_sflash_transfer_one_message(struct spi_master *master, ...@@ -341,10 +341,11 @@ static int tegra_sflash_transfer_one_message(struct spi_master *master,
goto exit; goto exit;
} }
msg->actual_length += xfer->len; msg->actual_length += xfer->len;
if (xfer->cs_change && xfer->delay_usecs) { if (xfer->cs_change &&
(xfer->delay_usecs || xfer->delay.value)) {
tegra_sflash_writel(tsd, tsd->def_command_reg, tegra_sflash_writel(tsd, tsd->def_command_reg,
SPI_COMMAND); SPI_COMMAND);
udelay(xfer->delay_usecs); spi_transfer_delay_exec(xfer);
} }
} }
ret = 0; ret = 0;
......
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