Message ID | 1442323588-29642-10-git-send-email-jarkko.nikula@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | e8646580cc9a6ae24ab3d05f90e71334f50cdedf |
Headers | show |
Le 15/09/2015 15:26, Jarkko Nikula a écrit : > SPI core validates both bits_per_word and speed_hz transfer parameters and > defaults to spi->bits_per_word and spi->max_speed_hz in case these per > transfer parameters are not set. This makes possible to remove two if > statements and remove one code block that is never executed. > > Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> It seems okay: Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> > --- > drivers/spi/spi-atmel.c | 21 ++++++--------------- > 1 file changed, 6 insertions(+), 15 deletions(-) > > diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c > index 63318e2afba1..41e37a6a1368 100644 > --- a/drivers/spi/spi-atmel.c > +++ b/drivers/spi/spi-atmel.c > @@ -871,14 +871,7 @@ static int atmel_spi_set_xfer_speed(struct atmel_spi *as, > * Calculate the lowest divider that satisfies the > * constraint, assuming div32/fdiv/mbz == 0. > */ > - if (xfer->speed_hz) > - scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz); > - else > - /* > - * This can happend if max_speed is null. > - * In this case, we set the lowest possible speed > - */ > - scbr = 0xff; > + scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz); > > /* > * If the resulting divider doesn't fit into the > @@ -1300,14 +1293,12 @@ static int atmel_spi_one_transfer(struct spi_master *master, > return -EINVAL; > } > > - if (xfer->bits_per_word) { > - asd = spi->controller_state; > - bits = (asd->csr >> 4) & 0xf; > - if (bits != xfer->bits_per_word - 8) { > - dev_dbg(&spi->dev, > + asd = spi->controller_state; > + bits = (asd->csr >> 4) & 0xf; > + if (bits != xfer->bits_per_word - 8) { > + dev_dbg(&spi->dev, > "you can't yet change bits_per_word in transfers\n"); > - return -ENOPROTOOPT; > - } > + return -ENOPROTOOPT; > } > > /* >
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c index 63318e2afba1..41e37a6a1368 100644 --- a/drivers/spi/spi-atmel.c +++ b/drivers/spi/spi-atmel.c @@ -871,14 +871,7 @@ static int atmel_spi_set_xfer_speed(struct atmel_spi *as, * Calculate the lowest divider that satisfies the * constraint, assuming div32/fdiv/mbz == 0. */ - if (xfer->speed_hz) - scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz); - else - /* - * This can happend if max_speed is null. - * In this case, we set the lowest possible speed - */ - scbr = 0xff; + scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz); /* * If the resulting divider doesn't fit into the @@ -1300,14 +1293,12 @@ static int atmel_spi_one_transfer(struct spi_master *master, return -EINVAL; } - if (xfer->bits_per_word) { - asd = spi->controller_state; - bits = (asd->csr >> 4) & 0xf; - if (bits != xfer->bits_per_word - 8) { - dev_dbg(&spi->dev, + asd = spi->controller_state; + bits = (asd->csr >> 4) & 0xf; + if (bits != xfer->bits_per_word - 8) { + dev_dbg(&spi->dev, "you can't yet change bits_per_word in transfers\n"); - return -ENOPROTOOPT; - } + return -ENOPROTOOPT; } /*
SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This makes possible to remove two if statements and remove one code block that is never executed. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> --- drivers/spi/spi-atmel.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-)