2020-02-27 13:06:54

by Sergiu Cuciurean

[permalink] [raw]
Subject: [PATCH] input: touchscreen: ad7877: Use new structure for SPI transfer delays

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 bebcfd272df6 ("spi: introduce `delay` field for
`spi_transfer` + spi_transfer_delay_exec()")

Signed-off-by: Sergiu Cuciurean <[email protected]>
---
drivers/input/touchscreen/ad7877.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/input/touchscreen/ad7877.c b/drivers/input/touchscreen/ad7877.c
index 9b652f61837f..0007aaf5cbd7 100644
--- a/drivers/input/touchscreen/ad7877.c
+++ b/drivers/input/touchscreen/ad7877.c
@@ -281,12 +281,14 @@ static int ad7877_read_adc(struct spi_device *spi, unsigned command)

req->xfer[1].tx_buf = &req->ref_on;
req->xfer[1].len = 2;
- 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;
req->xfer[1].cs_change = 1;

req->xfer[2].tx_buf = &req->command;
req->xfer[2].len = 2;
- req->xfer[2].delay_usecs = ts->vref_delay_usecs;
+ req->xfer[2].delay.value = ts->vref_delay_usecs;
+ req->xfer[2].delay.unit = SPI_DELAY_UNIT_USECS;
req->xfer[2].cs_change = 1;

req->xfer[3].rx_buf = &req->sample;
@@ -716,7 +718,8 @@ static int ad7877_probe(struct spi_device *spi)
spin_lock_init(&ts->lock);

ts->model = pdata->model ? : 7877;
- ts->vref_delay_usecs = pdata->vref_delay_usecs ? : 100;
+ ts->vref_delay.value = pdata->vref_delay_usecs ? : 100;
+ ts->vref_delay.unit = SPI_DELAY_UNIT_USECS;
ts->x_plate_ohms = pdata->x_plate_ohms ? : 400;
ts->pressure_max = pdata->pressure_max ? : ~0;

--
2.17.1


2020-02-28 10:46:49

by Sergiu Cuciurean

[permalink] [raw]
Subject: [PATCH v2] input: touchscreen: ad7877: Use new structure for SPI transfer delays

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 bebcfd272df6 ("spi: introduce `delay` field for
`spi_transfer` + spi_transfer_delay_exec()")

Signed-off-by: Sergiu Cuciurean <[email protected]>
---

Changelog v1->v2:
*Restore initial name of wrongfully modfied struct member

drivers/input/touchscreen/ad7877.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/ad7877.c b/drivers/input/touchscreen/ad7877.c
index 9b652f61837f..08f5372f0bfd 100644
--- a/drivers/input/touchscreen/ad7877.c
+++ b/drivers/input/touchscreen/ad7877.c
@@ -281,12 +281,14 @@ static int ad7877_read_adc(struct spi_device *spi, unsigned command)

req->xfer[1].tx_buf = &req->ref_on;
req->xfer[1].len = 2;
- 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;
req->xfer[1].cs_change = 1;

req->xfer[2].tx_buf = &req->command;
req->xfer[2].len = 2;
- req->xfer[2].delay_usecs = ts->vref_delay_usecs;
+ req->xfer[2].delay.value = ts->vref_delay_usecs;
+ req->xfer[2].delay.unit = SPI_DELAY_UNIT_USECS;
req->xfer[2].cs_change = 1;

req->xfer[3].rx_buf = &req->sample;
--
2.17.1

2020-12-11 12:00:59

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH v2] input: touchscreen: ad7877: Use new structure for SPI transfer delays

On Fri, Feb 28, 2020 at 12:45:08PM +0200, Sergiu Cuciurean 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 bebcfd272df6 ("spi: introduce `delay` field for
> `spi_transfer` + spi_transfer_delay_exec()")
>
> Signed-off-by: Sergiu Cuciurean <[email protected]>

Applied, thank you.

--
Dmitry