Input: ads7846: use new `delay` structure for SPI transfer delays
diff mbox series

Message ID 20191210141103.15910-1-alexandru.ardelean@analog.com
State Mainlined
Commit 0dfed6dc24576f256782d5288537927c69256081
Headers show
Series
  • Input: ads7846: use new `delay` structure for SPI transfer delays
Related show

Commit Message

Ardelean, Alexandru Dec. 10, 2019, 2:11 p.m. UTC
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(-)

Comments

Dmitry Torokhov Jan. 10, 2020, 11:39 p.m. UTC | #1
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
>

Patch
diff mbox series

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;