diff options
author | Alexandru Ardelean <alexandru.ardelean@analog.com> | 2019-09-26 13:51:39 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-10-15 11:45:07 +0100 |
commit | b883d5eda6c49a807e925b257bf9687d5c351004 (patch) | |
tree | 64d9bf7102bce4b31d2e6718e185e50a2f49f9a7 /drivers/spi/spi-tegra20-sflash.c | |
parent | cd13152bce34cd71f560a7c4a8f66096f2445984 (diff) | |
download | linux-stable-b883d5eda6c49a807e925b257bf9687d5c351004.tar.gz linux-stable-b883d5eda6c49a807e925b257bf9687d5c351004.tar.bz2 linux-stable-b883d5eda6c49a807e925b257bf9687d5c351004.zip |
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: Alexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20190926105147.7839-12-alexandru.ardelean@analog.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-tegra20-sflash.c')
-rw-r--r-- | drivers/spi/spi-tegra20-sflash.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/spi/spi-tegra20-sflash.c b/drivers/spi/spi-tegra20-sflash.c index a841a7250d14..514429379206 100644 --- a/drivers/spi/spi-tegra20-sflash.c +++ b/drivers/spi/spi-tegra20-sflash.c @@ -341,10 +341,11 @@ static int tegra_sflash_transfer_one_message(struct spi_master *master, goto exit; } 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, SPI_COMMAND); - udelay(xfer->delay_usecs); + spi_transfer_delay_exec(xfer); } } ret = 0; |