It can't be called with a NULL transfer anymore so it can be simplified
to not check for that.

Fix indention of line-wrapped code to Linux standard.

The transfer pointer can be const.

It's not necessary to check if the spi_transfer's speed_hz is zero, as
the spi core also fills it in from the spi_device.  However, the spi
core does not check if spi_device's speed is zero so we have to do
that still.

Signed-off-by: Trent Piepho <[email protected]>
Cc: Marek Vasut <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Shawn Guo <[email protected]>
---
 drivers/spi/spi-mxs.c |   19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c
index 23cc412..9e6101a 100644
--- a/drivers/spi/spi-mxs.c
+++ b/drivers/spi/spi-mxs.c
@@ -70,17 +70,14 @@ struct mxs_spi {
 };
 
 static int mxs_spi_setup_transfer(struct spi_device *dev,
-                               struct spi_transfer *t)
+                                 const struct spi_transfer *t)
 {
        struct mxs_spi *spi = spi_master_get_devdata(dev->master);
        struct mxs_ssp *ssp = &spi->ssp;
-       uint32_t hz = 0;
+       const unsigned int hz = min(dev->max_speed_hz, t->speed_hz);
 
-       hz = dev->max_speed_hz;
-       if (t && t->speed_hz)
-               hz = min(hz, t->speed_hz);
        if (hz == 0) {
-               dev_err(&dev->dev, "Cannot continue with zero clock\n");
+               dev_err(&dev->dev, "SPI clock rate of zero not allowed\n");
                return -EINVAL;
        }
 
@@ -88,12 +85,12 @@ static int mxs_spi_setup_transfer(struct spi_device *dev,
 
        writel(BM_SSP_CTRL0_LOCK_CS,
                ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
+
        writel(BF_SSP_CTRL1_SSP_MODE(BV_SSP_CTRL1_SSP_MODE__SPI) |
-                    BF_SSP_CTRL1_WORD_LENGTH
-                    (BV_SSP_CTRL1_WORD_LENGTH__EIGHT_BITS) |
-                    ((dev->mode & SPI_CPOL) ? BM_SSP_CTRL1_POLARITY : 0) |
-                    ((dev->mode & SPI_CPHA) ? BM_SSP_CTRL1_PHASE : 0),
-                    ssp->base + HW_SSP_CTRL1(ssp));
+              BF_SSP_CTRL1_WORD_LENGTH(BV_SSP_CTRL1_WORD_LENGTH__EIGHT_BITS) |
+              ((dev->mode & SPI_CPOL) ? BM_SSP_CTRL1_POLARITY : 0) |
+              ((dev->mode & SPI_CPHA) ? BM_SSP_CTRL1_PHASE : 0),
+              ssp->base + HW_SSP_CTRL1(ssp));
 
        writel(0x0, ssp->base + HW_SSP_CMD0);
        writel(0x0, ssp->base + HW_SSP_CMD1);


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to