summaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-ep93xx.c
diff options
context:
space:
mode:
authorH Hartley Sweeten <hartleys@visionengravers.com>2013-07-02 13:10:00 -0400
committerMark Brown <broonie@linaro.org>2013-07-15 06:37:14 -0400
commit22c1b69ea833de84a9505135303ff443e62b3b15 (patch)
treea927135f705d3b8338b2c61204b514d9ce6d74d0 /drivers/spi/spi-ep93xx.c
parente6eb8d9bb7b9c144ae63a5e97a686dd8a3377443 (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.c14
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 */
148struct ep93xx_spi_chip { 147struct 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}