spi: dw: Remove needless if statements
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Tue, 15 Sep 2015 13:26:23 +0000 (16:26 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 17 Sep 2015 17:35:25 +0000 (18:35 +0100)
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 allows to remove related if
statements as they evaluate always to true and reduce indentation.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-dw.c

index 4fbfcdc5cb244d6e9f2a7edaba603b7ccd269fb0..2b5d736465c91630fa697392ae56f4a2a72af835 100644 (file)
@@ -309,34 +309,29 @@ static int dw_spi_transfer_one(struct spi_master *master,
        cr0 = chip->cr0;
 
        /* Handle per transfer options for bpw and speed */
-       if (transfer->speed_hz) {
-               speed = chip->speed_hz;
+       speed = chip->speed_hz;
+       if ((transfer->speed_hz != speed) || !chip->clk_div) {
+               speed = transfer->speed_hz;
 
-               if ((transfer->speed_hz != speed) || !chip->clk_div) {
-                       speed = transfer->speed_hz;
+               /* clk_div doesn't support odd number */
+               clk_div = (dws->max_freq / speed + 1) & 0xfffe;
 
-                       /* clk_div doesn't support odd number */
-                       clk_div = (dws->max_freq / speed + 1) & 0xfffe;
+               chip->speed_hz = speed;
+               chip->clk_div = clk_div;
 
-                       chip->speed_hz = speed;
-                       chip->clk_div = clk_div;
-
-                       spi_set_clk(dws, chip->clk_div);
-               }
+               spi_set_clk(dws, chip->clk_div);
        }
-       if (transfer->bits_per_word) {
-               if (transfer->bits_per_word == 8) {
-                       dws->n_bytes = 1;
-                       dws->dma_width = 1;
-               } else if (transfer->bits_per_word == 16) {
-                       dws->n_bytes = 2;
-                       dws->dma_width = 2;
-               }
-               cr0 = (transfer->bits_per_word - 1)
-                       | (chip->type << SPI_FRF_OFFSET)
-                       | (spi->mode << SPI_MODE_OFFSET)
-                       | (chip->tmode << SPI_TMOD_OFFSET);
+       if (transfer->bits_per_word == 8) {
+               dws->n_bytes = 1;
+               dws->dma_width = 1;
+       } else if (transfer->bits_per_word == 16) {
+               dws->n_bytes = 2;
+               dws->dma_width = 2;
        }
+       cr0 = (transfer->bits_per_word - 1)
+               | (chip->type << SPI_FRF_OFFSET)
+               | (spi->mode << SPI_MODE_OFFSET)
+               | (chip->tmode << SPI_TMOD_OFFSET);
 
        /*
         * Adjust transfer mode if necessary. Requires platform dependent