spi: octeon: Convert to let spi core validate transfer speed
authorAxel Lin <axel.lin@ingics.com>
Wed, 19 Feb 2014 09:34:47 +0000 (17:34 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 3 Mar 2014 03:59:45 +0000 (11:59 +0800)
Set master->max_speed_hz then spi core will handle checking transfer speed.
The behavior is different from current code when the speed_hz is greater than
the maximum transfer speed supported by the controller.
Unless there is other good reason, I think we had better make the behavior
consistent with what spi core does.

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

index a514589..1ed2594 100644 (file)
@@ -67,8 +67,6 @@ static int octeon_spi_do_transfer(struct octeon_spi *p,
        cpol = mode & SPI_CPOL;
 
        speed_hz = xfer->speed_hz ? : spi->max_speed_hz;
-       if (speed_hz > OCTEON_SPI_MAX_CLOCK_HZ)
-               speed_hz = OCTEON_SPI_MAX_CLOCK_HZ;
 
        clkdiv = octeon_get_io_clock_rate() / (2 * speed_hz);
 
@@ -214,6 +212,7 @@ static int octeon_spi_probe(struct platform_device *pdev)
 
        master->transfer_one_message = octeon_spi_transfer_one_message;
        master->bits_per_word_mask = SPI_BPW_MASK(8);
+       master->max_speed_hz = OCTEON_SPI_MAX_CLOCK_HZ;
 
        master->dev.of_node = pdev->dev.of_node;
        err = devm_spi_register_master(&pdev->dev, master);