diff options
author | H Hartley Sweeten <hartleys@visionengravers.com> | 2013-07-02 13:10:00 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-07-15 06:37:14 -0400 |
commit | 22c1b69ea833de84a9505135303ff443e62b3b15 (patch) | |
tree | a927135f705d3b8338b2c61204b514d9ce6d74d0 /drivers/spi/spi-ep93xx.c | |
parent | e6eb8d9bb7b9c144ae63a5e97a686dd8a3377443 (diff) |
spi: spi-ep93xx: don't bother calculating the divisors in ep93xx_spi_setup()
The divisors needed to generate the SPI clock are calculated per
transfer based on the t->speed_hz. There is no reason to calculate
them in ep93xx_spi_setup().
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Mika Westerberg <mika.westerberg@iki.fi>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi/spi-ep93xx.c')
-rw-r--r-- | drivers/spi/spi-ep93xx.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c index cc2a2405bd1d..6cdfc4036b75 100644 --- a/drivers/spi/spi-ep93xx.c +++ b/drivers/spi/spi-ep93xx.c | |||
@@ -136,7 +136,6 @@ struct ep93xx_spi { | |||
136 | /** | 136 | /** |
137 | * struct ep93xx_spi_chip - SPI device hardware settings | 137 | * struct ep93xx_spi_chip - SPI device hardware settings |
138 | * @spi: back pointer to the SPI device | 138 | * @spi: back pointer to the SPI device |
139 | * @rate: max rate in hz this chip supports | ||
140 | * @div_cpsr: cpsr (pre-scaler) divider | 139 | * @div_cpsr: cpsr (pre-scaler) divider |
141 | * @div_scr: scr divider | 140 | * @div_scr: scr divider |
142 | * @ops: private chip operations | 141 | * @ops: private chip operations |
@@ -147,7 +146,6 @@ struct ep93xx_spi { | |||
147 | */ | 146 | */ |
148 | struct ep93xx_spi_chip { | 147 | struct ep93xx_spi_chip { |
149 | const struct spi_device *spi; | 148 | const struct spi_device *spi; |
150 | unsigned long rate; | ||
151 | u8 div_cpsr; | 149 | u8 div_cpsr; |
152 | u8 div_scr; | 150 | u8 div_scr; |
153 | struct ep93xx_spi_chip_ops *ops; | 151 | struct ep93xx_spi_chip_ops *ops; |
@@ -315,18 +313,6 @@ static int ep93xx_spi_setup(struct spi_device *spi) | |||
315 | spi_set_ctldata(spi, chip); | 313 | spi_set_ctldata(spi, chip); |
316 | } | 314 | } |
317 | 315 | ||
318 | if (spi->max_speed_hz != chip->rate) { | ||
319 | int err; | ||
320 | |||
321 | err = ep93xx_spi_calc_divisors(espi, chip, spi->max_speed_hz); | ||
322 | if (err != 0) { | ||
323 | spi_set_ctldata(spi, NULL); | ||
324 | kfree(chip); | ||
325 | return err; | ||
326 | } | ||
327 | chip->rate = spi->max_speed_hz; | ||
328 | } | ||
329 | |||
330 | ep93xx_spi_cs_control(spi, false); | 316 | ep93xx_spi_cs_control(spi, false); |
331 | return 0; | 317 | return 0; |
332 | } | 318 | } |