Message ID | 20191210141103.15910-1-alexandru.ardelean@analog.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 0dfed6dc24576f256782d5288537927c69256081 |
Headers | show |
Series | Input: ads7846: use new `delay` structure for SPI transfer delays | expand |
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@analog.com> 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 >
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;
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> --- drivers/input/touchscreen/ads7846.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)