aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2014-03-02 10:24:18 -0500
committerMark Brown <broonie@linaro.org>2014-03-13 05:52:38 -0400
commitbed890b4310b1d3b33c88fb83e216a8182e8bbad (patch)
treec626905d85c868d1f6cd81bf4c6e20e1f912b105
parentfcba212de9bdf1016d981c355df29ab169da8eae (diff)
spi: clps711x: Remove duplicate code to set default bits_per_word and max speed
In the implementation of __spi_validate(), spi core will set transfer bits_per_word and max speed as spi device default if it is not set for this transfer. So we can remove the same logic in spi_clps711x_setup_xfer() and spi_clps711x_transfer_one(). Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--drivers/spi/spi-clps711x.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/spi/spi-clps711x.c b/drivers/spi/spi-clps711x.c
index a5938abacfb0..ab010c05dc5a 100644
--- a/drivers/spi/spi-clps711x.c
+++ b/drivers/spi/spi-clps711x.c
@@ -45,17 +45,16 @@ static int spi_clps711x_setup(struct spi_device *spi)
45static void spi_clps711x_setup_xfer(struct spi_device *spi, 45static void spi_clps711x_setup_xfer(struct spi_device *spi,
46 struct spi_transfer *xfer) 46 struct spi_transfer *xfer)
47{ 47{
48 u32 speed = xfer->speed_hz ? : spi->max_speed_hz;
49 struct spi_clps711x_data *hw = spi_master_get_devdata(spi->master); 48 struct spi_clps711x_data *hw = spi_master_get_devdata(spi->master);
50 49
51 /* Setup SPI frequency divider */ 50 /* Setup SPI frequency divider */
52 if (!speed || (speed >= hw->max_speed_hz)) 51 if (!xfer->speed_hz || (xfer->speed_hz >= hw->max_speed_hz))
53 clps_writel((clps_readl(SYSCON1) & ~SYSCON1_ADCKSEL_MASK) | 52 clps_writel((clps_readl(SYSCON1) & ~SYSCON1_ADCKSEL_MASK) |
54 SYSCON1_ADCKSEL(3), SYSCON1); 53 SYSCON1_ADCKSEL(3), SYSCON1);
55 else if (speed >= (hw->max_speed_hz / 2)) 54 else if (xfer->speed_hz >= (hw->max_speed_hz / 2))
56 clps_writel((clps_readl(SYSCON1) & ~SYSCON1_ADCKSEL_MASK) | 55 clps_writel((clps_readl(SYSCON1) & ~SYSCON1_ADCKSEL_MASK) |
57 SYSCON1_ADCKSEL(2), SYSCON1); 56 SYSCON1_ADCKSEL(2), SYSCON1);
58 else if (speed >= (hw->max_speed_hz / 8)) 57 else if (xfer->speed_hz >= (hw->max_speed_hz / 8))
59 clps_writel((clps_readl(SYSCON1) & ~SYSCON1_ADCKSEL_MASK) | 58 clps_writel((clps_readl(SYSCON1) & ~SYSCON1_ADCKSEL_MASK) |
60 SYSCON1_ADCKSEL(1), SYSCON1); 59 SYSCON1_ADCKSEL(1), SYSCON1);
61 else 60 else
@@ -87,7 +86,7 @@ static int spi_clps711x_transfer_one(struct spi_master *master,
87 spi_clps711x_setup_xfer(spi, xfer); 86 spi_clps711x_setup_xfer(spi, xfer);
88 87
89 hw->len = xfer->len; 88 hw->len = xfer->len;
90 hw->bpw = xfer->bits_per_word ? : spi->bits_per_word; 89 hw->bpw = xfer->bits_per_word;
91 hw->tx_buf = (u8 *)xfer->tx_buf; 90 hw->tx_buf = (u8 *)xfer->tx_buf;
92 hw->rx_buf = (u8 *)xfer->rx_buf; 91 hw->rx_buf = (u8 *)xfer->rx_buf;
93 92