spi: dw: Convert to let spi core validate transfer speed
authorAxel Lin <axel.lin@ingics.com>
Thu, 20 Feb 2014 13:37:56 +0000 (21:37 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 3 Mar 2014 04:35:27 +0000 (12:35 +0800)
Set master->max_speed_hz then spi core will handle checking transfer speed.
So we can remove the same checking in this driver.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-dw.c

index bf98d63d92b3eabbd80ea49d125421069139c535..9e4a0aa7d341782c5df5e9b2538a0e6e2f56ff05 100644 (file)
@@ -439,12 +439,6 @@ static void pump_transfers(unsigned long data)
 
                if (transfer->speed_hz != speed) {
                        speed = transfer->speed_hz;
-                       if (speed > dws->max_freq) {
-                               printk(KERN_ERR "MRST SPI0: unsupported"
-                                       "freq: %dHz\n", speed);
-                               message->status = -EIO;
-                               goto early_exit;
-                       }
 
                        /* clk_div doesn't support odd number */
                        clk_div = dws->max_freq / speed;
@@ -809,6 +803,7 @@ int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
        master->cleanup = dw_spi_cleanup;
        master->setup = dw_spi_setup;
        master->transfer = dw_spi_transfer;
+       master->max_speed_hz = dws->max_freq;
 
        /* Basic HW init */
        spi_hw_init(dws);