Input: ads7846 - use new `delay` structure for SPI transfer delays
authorAlexandru Ardelean <alexandru.ardelean@analog.com>
Fri, 10 Jan 2020 23:38:15 +0000 (15:38 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 21 Jan 2020 04:45:25 +0000 (20:45 -0800)
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@analog.com>
Link: https://lore.kernel.org/r/20191210141103.15910-1-alexandru.ardelean@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ads7846.c

index 51ddb20..8fd7fc3 100644 (file)
@@ -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;