spi: orion: use new `word_delay` field for SPI transfers
authorAlexandru Ardelean <alexandru.ardelean@analog.com>
Thu, 26 Sep 2019 10:51:33 +0000 (13:51 +0300)
committerMark Brown <broonie@kernel.org>
Tue, 15 Oct 2019 10:43:31 +0000 (11:43 +0100)
The `word_delay` field had it's type changed to `struct spi_delay`.
This allows users to specify nano-second or clock-cycle delays (if needed).

Converting to use `word_delay` is straightforward: it just uses the new
`spi_delay_exec()` routine, that handles the `unit` part.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20190926105147.7839-6-alexandru.ardelean@analog.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-orion.c

index 81c991c4ddbf635792480bf3b9d29595cfcccd6b..c7266ef295fd1e6369b9d009d3bd9698c4b4513d 100644 (file)
@@ -467,8 +467,7 @@ orion_spi_write_read(struct spi_device *spi, struct spi_transfer *xfer)
                        if (orion_spi_write_read_8bit(spi, &tx, &rx) < 0)
                                goto out;
                        count--;
-                       if (xfer->word_delay_usecs)
-                               udelay(xfer->word_delay_usecs);
+                       spi_delay_exec(&xfer->word_delay, xfer);
                } while (count);
        } else if (word_len == 16) {
                const u16 *tx = xfer->tx_buf;
@@ -478,8 +477,7 @@ orion_spi_write_read(struct spi_device *spi, struct spi_transfer *xfer)
                        if (orion_spi_write_read_16bit(spi, &tx, &rx) < 0)
                                goto out;
                        count -= 2;
-                       if (xfer->word_delay_usecs)
-                               udelay(xfer->word_delay_usecs);
+                       spi_delay_exec(&xfer->word_delay, xfer);
                } while (count);
        }