OSDN Git Service

spi: sh-hspi: Remove duplicate code to set default transfer speed
authorAxel Lin <axel.lin@ingics.com>
Sun, 2 Mar 2014 15:01:50 +0000 (23:01 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 3 Mar 2014 01:37:46 +0000 (10:37 +0900)
In the implementation of __spi_validate(), spi core will use spi device's max
speed as default transfer speed if it is not set for this transfer.
So we can remove the same logic in hspi_hw_setup().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-sh-hspi.c

index dad800b..180eecf 100644 (file)
@@ -111,14 +111,9 @@ static void hspi_hw_setup(struct hspi_priv *hspi,
 {
        struct spi_device *spi = msg->spi;
        struct device *dev = hspi->dev;
-       u32 target_rate;
        u32 spcr, idiv_clk;
        u32 rate, best_rate, min, tmp;
 
-       target_rate = t ? t->speed_hz : 0;
-       if (!target_rate)
-               target_rate = spi->max_speed_hz;
-
        /*
         * find best IDIV/CLKCx settings
         */
@@ -138,7 +133,7 @@ static void hspi_hw_setup(struct hspi_priv *hspi,
                rate /= (((idiv_clk & 0x1F) + 1) * 2);
 
                /* save best settings */
-               tmp = abs(target_rate - rate);
+               tmp = abs(t->speed_hz - rate);
                if (tmp < min) {
                        min = tmp;
                        spcr = idiv_clk;
@@ -151,7 +146,7 @@ static void hspi_hw_setup(struct hspi_priv *hspi,
        if (spi->mode & SPI_CPOL)
                spcr |= 1 << 6;
 
-       dev_dbg(dev, "speed %d/%d\n", target_rate, best_rate);
+       dev_dbg(dev, "speed %d/%d\n", t->speed_hz, best_rate);
 
        hspi_write(hspi, SPCR, spcr);
        hspi_write(hspi, SPSR, 0x0);