diff options
| author | Axel Lin <axel.lin@ingics.com> | 2014-03-26 11:44:18 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2014-03-27 09:29:19 -0400 |
| commit | 6f50c6bc61d4f8cac9dfa21d2db3917deb9beb20 (patch) | |
| tree | fae64f65207f5164f1577ebc18f7b2d6f6dad08b | |
| parent | 5634dd8bf422e0e5b71bb9762ff079f01a5f9a83 (diff) | |
spi: clps711x: Convert to use master->max_speed_hz
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>
| -rw-r--r-- | drivers/spi/spi-clps711x.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/spi/spi-clps711x.c b/drivers/spi/spi-clps711x.c index d9eec4e3b246..a2b8ef5d8c59 100644 --- a/drivers/spi/spi-clps711x.c +++ b/drivers/spi/spi-clps711x.c | |||
| @@ -33,7 +33,6 @@ struct spi_clps711x_data { | |||
| 33 | struct regmap *syscon; | 33 | struct regmap *syscon; |
| 34 | struct regmap *syscon1; | 34 | struct regmap *syscon1; |
| 35 | struct clk *spi_clk; | 35 | struct clk *spi_clk; |
| 36 | u32 max_speed_hz; | ||
| 37 | 36 | ||
| 38 | u8 *tx_buf; | 37 | u8 *tx_buf; |
| 39 | u8 *rx_buf; | 38 | u8 *rx_buf; |
| @@ -52,16 +51,17 @@ static int spi_clps711x_setup(struct spi_device *spi) | |||
| 52 | static void spi_clps711x_setup_xfer(struct spi_device *spi, | 51 | static void spi_clps711x_setup_xfer(struct spi_device *spi, |
| 53 | struct spi_transfer *xfer) | 52 | struct spi_transfer *xfer) |
| 54 | { | 53 | { |
| 55 | struct spi_clps711x_data *hw = spi_master_get_devdata(spi->master); | 54 | struct spi_master *master = spi->master; |
| 55 | struct spi_clps711x_data *hw = spi_master_get_devdata(master); | ||
| 56 | 56 | ||
| 57 | /* Setup SPI frequency divider */ | 57 | /* Setup SPI frequency divider */ |
| 58 | if (!xfer->speed_hz || (xfer->speed_hz >= hw->max_speed_hz)) | 58 | if (xfer->speed_hz >= master->max_speed_hz) |
| 59 | regmap_update_bits(hw->syscon1, SYSCON_OFFSET, | 59 | regmap_update_bits(hw->syscon1, SYSCON_OFFSET, |
| 60 | SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(3)); | 60 | SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(3)); |
| 61 | else if (xfer->speed_hz >= (hw->max_speed_hz / 2)) | 61 | else if (xfer->speed_hz >= (master->max_speed_hz / 2)) |
| 62 | regmap_update_bits(hw->syscon1, SYSCON_OFFSET, | 62 | regmap_update_bits(hw->syscon1, SYSCON_OFFSET, |
| 63 | SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(2)); | 63 | SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(2)); |
| 64 | else if (xfer->speed_hz >= (hw->max_speed_hz / 8)) | 64 | else if (xfer->speed_hz >= (master->max_speed_hz / 8)) |
| 65 | regmap_update_bits(hw->syscon1, SYSCON_OFFSET, | 65 | regmap_update_bits(hw->syscon1, SYSCON_OFFSET, |
| 66 | SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(1)); | 66 | SYSCON1_ADCKSEL_MASK, SYSCON1_ADCKSEL(1)); |
| 67 | else | 67 | else |
| @@ -183,7 +183,7 @@ static int spi_clps711x_probe(struct platform_device *pdev) | |||
| 183 | ret = PTR_ERR(hw->spi_clk); | 183 | ret = PTR_ERR(hw->spi_clk); |
| 184 | goto err_out; | 184 | goto err_out; |
| 185 | } | 185 | } |
| 186 | hw->max_speed_hz = clk_get_rate(hw->spi_clk); | 186 | master->max_speed_hz = clk_get_rate(hw->spi_clk); |
| 187 | 187 | ||
| 188 | platform_set_drvdata(pdev, master); | 188 | platform_set_drvdata(pdev, master); |
| 189 | 189 | ||
| @@ -221,7 +221,7 @@ static int spi_clps711x_probe(struct platform_device *pdev) | |||
| 221 | if (!ret) { | 221 | if (!ret) { |
| 222 | dev_info(&pdev->dev, | 222 | dev_info(&pdev->dev, |
| 223 | "SPI bus driver initialized. Master clock %u Hz\n", | 223 | "SPI bus driver initialized. Master clock %u Hz\n", |
| 224 | hw->max_speed_hz); | 224 | master->max_speed_hz); |
| 225 | return 0; | 225 | return 0; |
| 226 | } | 226 | } |
| 227 | 227 | ||
