diff mbox

[10/16] spi: atmel: Remove needless bits_per_word and speed_hz tests

Message ID 1442323588-29642-10-git-send-email-jarkko.nikula@linux.intel.com (mailing list archive)
State Accepted
Commit e8646580cc9a6ae24ab3d05f90e71334f50cdedf
Headers show

Commit Message

Jarkko Nikula Sept. 15, 2015, 1:26 p.m. UTC
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(-)

Comments

Nicolas Ferre Sept. 15, 2015, 1:54 p.m. UTC | #1
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 mbox

Patch

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;
 	}
 
 	/*