SPI core validates both bits_per_word and speed_hz transfer parameters and
defaults to spi->bits_per_word and spi->max_speed_hz in case these per
transfer parameters are not set. This allows to remove two needless tests
from uwire_txrx() and uwire_setup_transfer().

Signed-off-by: Jarkko Nikula <[email protected]>
---
 drivers/spi/spi-omap-uwire.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/spi/spi-omap-uwire.c b/drivers/spi/spi-omap-uwire.c
index 55576db31549..ce8dbdbce312 100644
--- a/drivers/spi/spi-omap-uwire.c
+++ b/drivers/spi/spi-omap-uwire.c
@@ -205,7 +205,7 @@ static void uwire_chipselect(struct spi_device *spi, int 
value)
 static int uwire_txrx(struct spi_device *spi, struct spi_transfer *t)
 {
        unsigned        len = t->len;
-       unsigned        bits = t->bits_per_word ? : spi->bits_per_word;
+       unsigned        bits = t->bits_per_word;
        unsigned        bytes;
        u16             val, w;
        int             status = 0;
@@ -344,9 +344,10 @@ static int uwire_setup_transfer(struct spi_device *spi, 
struct spi_transfer *t)
        /* assume it's already enabled */
        rate = clk_get_rate(uwire->ck);
 
-       hz = spi->max_speed_hz;
-       if (t != NULL && t->speed_hz)
+       if (t != NULL)
                hz = t->speed_hz;
+       else
+               hz = spi->max_speed_hz;
 
        if (!hz) {
                pr_debug("%s: zero speed?\n", dev_name(&spi->dev));
-- 
2.5.1

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to