Re: [PATCH] Input: ads7846: use new `delay` structure for SPI transfer delays

From: Dmitry Torokhov
Date: Fri Jan 10 2020 - 18:40:04 EST


On Tue, Dec 10, 2019 at 04:11:03PM +0200, Alexandru Ardelean wrote:
> 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 bebcfd272df6485 ("spi: introduce `delay` field for
> `spi_transfer` + spi_transfer_delay_exec()")
>
> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx>

Applied, thank you.

> ---
> drivers/input/touchscreen/ads7846.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> index 51ddb204ca1b..8fd7fc39c4fd 100644
> --- a/drivers/input/touchscreen/ads7846.c
> +++ b/drivers/input/touchscreen/ads7846.c
> @@ -333,7 +333,8 @@ static int ads7846_read12_ser(struct device *dev, unsigned command)
> req->xfer[1].len = 2;
>
> /* for 1uF, settle for 800 usec; no cap, 100 usec. */
> - req->xfer[1].delay_usecs = ts->vref_delay_usecs;
> + req->xfer[1].delay.value = ts->vref_delay_usecs;
> + req->xfer[1].delay.unit = SPI_DELAY_UNIT_USECS;
> spi_message_add_tail(&req->xfer[1], &req->msg);
>
> /* Enable reference voltage */
> @@ -1018,7 +1019,8 @@ static void ads7846_setup_spi_msg(struct ads7846 *ts,
> * have had enough time to stabilize.
> */
> if (pdata->settle_delay_usecs) {
> - x->delay_usecs = pdata->settle_delay_usecs;
> + x->delay.value = pdata->settle_delay_usecs;
> + x->delay.unit = SPI_DELAY_UNIT_USECS;
>
> x++;
> x->tx_buf = &packet->read_y;
> @@ -1061,7 +1063,8 @@ static void ads7846_setup_spi_msg(struct ads7846 *ts,
>
> /* ... maybe discard first sample ... */
> if (pdata->settle_delay_usecs) {
> - x->delay_usecs = pdata->settle_delay_usecs;
> + x->delay.value = pdata->settle_delay_usecs;
> + x->delay.unit = SPI_DELAY_UNIT_USECS;
>
> x++;
> x->tx_buf = &packet->read_x;
> @@ -1094,7 +1097,8 @@ static void ads7846_setup_spi_msg(struct ads7846 *ts,
>
> /* ... maybe discard first sample ... */
> if (pdata->settle_delay_usecs) {
> - x->delay_usecs = pdata->settle_delay_usecs;
> + x->delay.value = pdata->settle_delay_usecs;
> + x->delay.unit = SPI_DELAY_UNIT_USECS;
>
> x++;
> x->tx_buf = &packet->read_z1;
> @@ -1125,7 +1129,8 @@ static void ads7846_setup_spi_msg(struct ads7846 *ts,
>
> /* ... maybe discard first sample ... */
> if (pdata->settle_delay_usecs) {
> - x->delay_usecs = pdata->settle_delay_usecs;
> + x->delay.value = pdata->settle_delay_usecs;
> + x->delay.unit = SPI_DELAY_UNIT_USECS;
>
> x++;
> x->tx_buf = &packet->read_z2;
> --
> 2.20.1
>

--
Dmitry