spi: dw: refactor code that handles clk_div
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 24 Feb 2015 11:32:12 +0000 (13:32 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 24 Feb 2015 14:43:34 +0000 (23:43 +0900)
This patch does the following changes:

a) the calculation of clk_div is simplified to oneliner;

b) chip->clk_div is updated if clk_div is not zero, therefore the condition is
   simplified by using chip->clk_div in both cases;

c) while here, the redundant parentheses are removed.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-dw.c

index 0febb97ae32f95f1e6dd5f0129a906cdec071ee0..0e0c48b37b838ac2adbc87928be8636da30c36f8 100644 (file)
@@ -416,12 +416,11 @@ static void pump_transfers(unsigned long data)
        if (transfer->speed_hz) {
                speed = chip->speed_hz;
 
-               if ((transfer->speed_hz != speed) || (!chip->clk_div)) {
+               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;
-                       clk_div = (clk_div + 1) & 0xfffe;
+                       clk_div = (dws->max_freq / speed + 1) & 0xfffe;
 
                        chip->speed_hz = speed;
                        chip->clk_div = clk_div;
@@ -480,7 +479,7 @@ static void pump_transfers(unsigned long data)
                if (dw_readw(dws, DW_SPI_CTRL0) != cr0)
                        dw_writew(dws, DW_SPI_CTRL0, cr0);
 
-               spi_set_clk(dws, clk_div ? clk_div : chip->clk_div);
+               spi_set_clk(dws, chip->clk_div);
                spi_chip_sel(dws, spi, 1);
 
                /* Set the interrupt mask, for poll mode just disable all int */