]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
spi: clps711x: Convert to use master->max_speed_hz
authorAxel Lin <axel.lin@ingics.com>
Wed, 26 Mar 2014 15:44:18 +0000 (23:44 +0800)
committerMark Brown <broonie@linaro.org>
Thu, 27 Mar 2014 13:29:19 +0000 (13:29 +0000)
Set highest transfer speed to master->max_speed_hz and then we can remove
hw->max_speed.

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

index d9eec4e3b24635d9d2fb05c8e1bb74e5ca0d0a5c..a2b8ef5d8c590389434f963797875511e6121af6 100644 (file)
@@ -33,7 +33,6 @@ struct spi_clps711x_data {
        struct regmap           *syscon;
        struct regmap           *syscon1;
        struct clk              *spi_clk;
-       u32                     max_speed_hz;
 
        u8                      *tx_buf;
        u8                      *rx_buf;
@@ -52,16 +51,17 @@ static int spi_clps711x_setup(struct spi_device *spi)
 static void spi_clps711x_setup_xfer(struct spi_device *spi,
                                    struct spi_transfer *xfer)
 {
-       struct spi_clps711x_data *hw = spi_master_get_devdata(spi->master);
+       struct spi_master *master = spi->master;
+       struct spi_clps711x_data *hw = spi_master_get_devdata(master);
 
        /* Setup SPI frequency divider */
-       if (!xfer->speed_hz || (xfer->speed_hz >= hw->max_speed_hz))
+       if (xfer->speed_hz >= master->max_speed_hz)
                regmap_update_bits(hw->syscon1, SYSCON_OFFSET,
                                   SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(3));
-       else if (xfer->speed_hz >= (hw->max_speed_hz / 2))
+       else if (xfer->speed_hz >= (master->max_speed_hz / 2))
                regmap_update_bits(hw->syscon1, SYSCON_OFFSET,
                                   SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(2));
-       else if (xfer->speed_hz >= (hw->max_speed_hz / 8))
+       else if (xfer->speed_hz >= (master->max_speed_hz / 8))
                regmap_update_bits(hw->syscon1, SYSCON_OFFSET,
                                   SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(1));
        else
@@ -183,7 +183,7 @@ static int spi_clps711x_probe(struct platform_device *pdev)
                ret = PTR_ERR(hw->spi_clk);
                goto err_out;
        }
-       hw->max_speed_hz = clk_get_rate(hw->spi_clk);
+       master->max_speed_hz = clk_get_rate(hw->spi_clk);
 
        platform_set_drvdata(pdev, master);
 
@@ -221,7 +221,7 @@ static int spi_clps711x_probe(struct platform_device *pdev)
        if (!ret) {
                dev_info(&pdev->dev,
                         "SPI bus driver initialized. Master clock %u Hz\n",
-                        hw->max_speed_hz);
+                        master->max_speed_hz);
                return 0;
        }