spi: spi-mpc52xx: Use new structure for SPI transfer delays
authorSergiu Cuciurean <sergiu.cuciurean-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org>
Thu, 27 Feb 2020 14:39:31 +0000 (16:39 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 21 Jan 2021 18:14:27 +0000 (18:14 +0000)
In a recent change to the SPI subsystem [1], a new `delay` struct was added
to replace the `delay_usecs`. This change replaces the current
`delay_usecs` with `delay` for this driver.

The `spi_transfer_delay_exec()` function [in the SPI framework] makes sure
that both `delay_usecs` & `delay` are used (in this order to preserve
backwards compatibility).

[1] commit bebcfd272df6 ("spi: introduce `delay` field for
`spi_transfer` + spi_transfer_delay_exec()")

Signed-off-by: Sergiu Cuciurean <sergiu.cuciurean-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org>
Link: https://lore.kernel.org/r/20200227143931.20688-1-sergiu.cuciurean@analog.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-mpc52xx.c

index ef2f244..36f9415 100644 (file)
@@ -248,7 +248,9 @@ static int mpc52xx_spi_fsmstate_transfer(int irq, struct mpc52xx_spi *ms,
        ms->len--;
        if (ms->len == 0) {
                ms->timestamp = get_tbl();
-               ms->timestamp += ms->transfer->delay_usecs * tb_ticks_per_usec;
+               if (ms->transfer->delay.unit == SPI_DELAY_UNIT_USECS)
+                       ms->timestamp += ms->transfer->delay.value *
+                                        tb_ticks_per_usec;
                ms->state = mpc52xx_spi_fsmstate_wait;
                return FSM_CONTINUE;
        }