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 | ||