2020-02-27 12:46:14

by Sergiu Cuciurean

[permalink] [raw]
Subject: [PATCH] input: keyboard: applespi: 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/keyboard/applespi.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/input/keyboard/applespi.c b/drivers/input/keyboard/applespi.c
index d38398526965..d6a847e5f7e4 100644
--- a/drivers/input/keyboard/applespi.c
+++ b/drivers/input/keyboard/applespi.c
@@ -545,7 +545,8 @@ static void applespi_setup_read_txfrs(struct applespi_data *applespi)
memset(dl_t, 0, sizeof(*dl_t));
memset(rd_t, 0, sizeof(*rd_t));

- dl_t->delay_usecs = applespi->spi_settings.spi_cs_delay;
+ dl_t->delay.value = applespi->spi_settings.spi_cs_delay;
+ dl_t->delay.unit = SPI_DELAY_UNIT_USECS;

rd_t->rx_buf = applespi->rx_buffer;
rd_t->len = APPLESPI_PACKET_SIZE;
@@ -574,14 +575,17 @@ static void applespi_setup_write_txfrs(struct applespi_data *applespi)
* end up with an extra unnecessary (but harmless) cs assertion and
* deassertion.
*/
- wt_t->delay_usecs = SPI_RW_CHG_DELAY_US;
+ wt_t->delay.value = SPI_RW_CHG_DELAY_US;
+ wt_t->delay.unit = SPI_DELAY_UNIT_USECS;
wt_t->cs_change = 1;

- dl_t->delay_usecs = applespi->spi_settings.spi_cs_delay;
+ dl_t->delay.value = applespi->spi_settings.spi_cs_delay;
+ dl_t->delay.unit = SPI_DELAY_UNIT_USECS;

wr_t->tx_buf = applespi->tx_buffer;
wr_t->len = APPLESPI_PACKET_SIZE;
- wr_t->delay_usecs = SPI_RW_CHG_DELAY_US;
+ wr_t->delay.value = SPI_RW_CHG_DELAY_US;
+ wr_t->delay.unit = SPI_DELAY_UNIT_USECS;

st_t->rx_buf = applespi->tx_status;
st_t->len = APPLESPI_STATUS_SIZE;
--
2.17.1


Subject: Re: [PATCH] input: keyboard: applespi: Use new structure for SPI transfer delays


On Thu, Feb 27, 2020 at 02:45:34PM +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]>
> ---
> drivers/input/keyboard/applespi.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/keyboard/applespi.c b/drivers/input/keyboard/applespi.c
> index d38398526965..d6a847e5f7e4 100644
> --- a/drivers/input/keyboard/applespi.c
> +++ b/drivers/input/keyboard/applespi.c
> @@ -545,7 +545,8 @@ static void applespi_setup_read_txfrs(struct applespi_data *applespi)
> memset(dl_t, 0, sizeof(*dl_t));
> memset(rd_t, 0, sizeof(*rd_t));
>
> - dl_t->delay_usecs = applespi->spi_settings.spi_cs_delay;
> + dl_t->delay.value = applespi->spi_settings.spi_cs_delay;
> + dl_t->delay.unit = SPI_DELAY_UNIT_USECS;
>
> rd_t->rx_buf = applespi->rx_buffer;
> rd_t->len = APPLESPI_PACKET_SIZE;
> @@ -574,14 +575,17 @@ static void applespi_setup_write_txfrs(struct applespi_data *applespi)
> * end up with an extra unnecessary (but harmless) cs assertion and
> * deassertion.
> */
> - wt_t->delay_usecs = SPI_RW_CHG_DELAY_US;
> + wt_t->delay.value = SPI_RW_CHG_DELAY_US;
> + wt_t->delay.unit = SPI_DELAY_UNIT_USECS;
> wt_t->cs_change = 1;
>
> - dl_t->delay_usecs = applespi->spi_settings.spi_cs_delay;
> + dl_t->delay.value = applespi->spi_settings.spi_cs_delay;
> + dl_t->delay.unit = SPI_DELAY_UNIT_USECS;
>
> wr_t->tx_buf = applespi->tx_buffer;
> wr_t->len = APPLESPI_PACKET_SIZE;
> - wr_t->delay_usecs = SPI_RW_CHG_DELAY_US;
> + wr_t->delay.value = SPI_RW_CHG_DELAY_US;
> + wr_t->delay.unit = SPI_DELAY_UNIT_USECS;
>
> st_t->rx_buf = applespi->tx_status;
> st_t->len = APPLESPI_STATUS_SIZE;
> --
> 2.17.1

Looks good to me and tested to confirm things still work.


Cheers,

Ronald

2020-03-02 11:09:56

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] input: keyboard: applespi: Use new structure for SPI transfer delays

On Fri, Feb 28, 2020 at 07:26:16PM -0800, Life is hard, and then you die wrote:
> On Thu, Feb 27, 2020 at 02:45:34PM +0200, Sergiu Cuciurean wrote:

...

> > - wr_t->delay_usecs = SPI_RW_CHG_DELAY_US;
> > + wr_t->delay.value = SPI_RW_CHG_DELAY_US;
> > + wr_t->delay.unit = SPI_DELAY_UNIT_USECS;
>
> Looks good to me and tested to confirm things still work.

Ronald, we have the established tags for such, like Tested-by:, Reviewed-by:.

--
With Best Regards,
Andy Shevchenko


Subject: Re: [PATCH] input: keyboard: applespi: Use new structure for SPI transfer delays


On Mon, Mar 02, 2020 at 01:09:32PM +0200, Andy Shevchenko wrote:
> On Fri, Feb 28, 2020 at 07:26:16PM -0800, Life is hard, and then you die wrote:
> > On Thu, Feb 27, 2020 at 02:45:34PM +0200, Sergiu Cuciurean wrote:
>
> ...
>
> > > - wr_t->delay_usecs = SPI_RW_CHG_DELAY_US;
> > > + wr_t->delay.value = SPI_RW_CHG_DELAY_US;
> > > + wr_t->delay.unit = SPI_DELAY_UNIT_USECS;
> >
> > Looks good to me and tested to confirm things still work.
>
> Ronald, we have the established tags for such, like Tested-by:, Reviewed-by:.

Apologies, that was sloppy of me. So:

Tested-by: Ronald Tschal?r <[email protected]>
Reviewed-by: Ronald Tschal?r <[email protected]>


Cheers,

Ronald

2020-12-11 12:00:02

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] input: keyboard: applespi: Use new structure for SPI transfer delays

On Thu, Feb 27, 2020 at 02:45:34PM +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