Linux Input Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] Input: ads7846: use new `delay` structure for SPI transfer delays
@ 2019-12-10 14:11 Alexandru Ardelean
  2020-01-10 23:39 ` Dmitry Torokhov
  0 siblings, 1 reply; 2+ messages in thread
From: Alexandru Ardelean @ 2019-12-10 14:11 UTC (permalink / raw)
  To: linux-input, linux-kernel
  Cc: dmitry.torokhov, info, tglx, m.felsch, Alexandru Ardelean

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(-)

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Input: ads7846: use new `delay` structure for SPI transfer delays
  2019-12-10 14:11 [PATCH] Input: ads7846: use new `delay` structure for SPI transfer delays Alexandru Ardelean
@ 2020-01-10 23:39 ` Dmitry Torokhov
  0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Torokhov @ 2020-01-10 23:39 UTC (permalink / raw)
  To: Alexandru Ardelean; +Cc: linux-input, linux-kernel, info, tglx, m.felsch

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
> 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-10 14:11 [PATCH] Input: ads7846: use new `delay` structure for SPI transfer delays Alexandru Ardelean
2020-01-10 23:39 ` Dmitry Torokhov

Linux Input Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-input/0 linux-input/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-input linux-input/ https://lore.kernel.org/linux-input \
		linux-input@vger.kernel.org
	public-inbox-index linux-input

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-input


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git