Hi, On Tue, Mar 09, 2021 at 09:58:09AM +0530, Viresh Kumar wrote: > On 08-03-21, 16:54, Alexandru Ardelean wrote: > > The intent is the removal of the 'delay_usecs' field from the > > spi_transfer struct, as there is a 'delay' field that does the same > > thing. > > > > The spi_delay_to_ns() can be used to get the transfer delay. It works by > > using the 'delay_usecs' field first (if it is non-zero), and finally > > uses the 'delay' field. > > > > Since the 'delay_usecs' field is going away, this change makes use of the > > spi_delay_to_ns() function. This also means dividing the return value of > > the function by 1000, to convert it to microseconds. > > To prevent any potential faults when converting to microseconds and since > > the result of spi_delay_to_ns() is int, the delay is being computed in 32 > > bits and then clamped between 0 & U16_MAX. > > > > Signed-off-by: Alexandru Ardelean <aardelean@xxxxxxxxxxx> > > --- > > drivers/staging/greybus/spilib.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/staging/greybus/spilib.c b/drivers/staging/greybus/spilib.c > > index 672d540d3365..30655153df6a 100644 > > --- a/drivers/staging/greybus/spilib.c > > +++ b/drivers/staging/greybus/spilib.c > > @@ -245,6 +245,7 @@ static struct gb_operation *gb_spi_operation_create(struct gb_spilib *spi, > > /* Fill in the transfers array */ > > xfer = spi->first_xfer; > > while (msg->state != GB_SPI_STATE_OP_DONE) { > > + int xfer_delay; > > if (xfer == spi->last_xfer) > > xfer_len = spi->last_xfer_size; > > else > > @@ -259,7 +260,9 @@ static struct gb_operation *gb_spi_operation_create(struct gb_spilib *spi, > > > > gb_xfer->speed_hz = cpu_to_le32(xfer->speed_hz); > > gb_xfer->len = cpu_to_le32(xfer_len); > > - gb_xfer->delay_usecs = cpu_to_le16(xfer->delay_usecs); > > + xfer_delay = spi_delay_to_ns(&xfer->delay, xfer) / 1000; > > + xfer_delay = clamp_t(u16, xfer_delay, 0, U16_MAX); > > + gb_xfer->delay_usecs = cpu_to_le16(xfer_delay); > > gb_xfer->cs_change = xfer->cs_change; > > gb_xfer->bits_per_word = xfer->bits_per_word; > > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Rui Miguel Silva <rmfrfs@xxxxxxxxx> ------ Cheers, Rui _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel