There is no need to carry spi->max_speed_hz and spi->bits_per_word from
setup() in "struct chip_data" since pump_transfers() will anyway take the
transfer parameters from "struct spi_transfer". This is since 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.

Signed-off-by: Jarkko Nikula <[email protected]>
---
 drivers/spi/spi-pxa2xx.c | 12 ++----------
 drivers/spi/spi-pxa2xx.h |  2 --
 2 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c
index a8ef38ebb9c9..40862f589277 100644
--- a/drivers/spi/spi-pxa2xx.c
+++ b/drivers/spi/spi-pxa2xx.c
@@ -925,14 +925,8 @@ static void pump_transfers(unsigned long data)
        cr0 = chip->cr0;
        if (transfer->speed_hz || transfer->bits_per_word) {
 
-               bits = chip->bits_per_word;
-               speed = chip->speed_hz;
-
-               if (transfer->speed_hz)
-                       speed = transfer->speed_hz;
-
-               if (transfer->bits_per_word)
-                       bits = transfer->bits_per_word;
+               bits = transfer->bits_per_word;
+               speed = transfer->speed_hz;
 
                clk_div = pxa2xx_ssp_get_clk_div(drv_data, chip, speed);
 
@@ -1204,7 +1198,6 @@ static int setup(struct spi_device *spi)
        }
 
        clk_div = pxa2xx_ssp_get_clk_div(drv_data, chip, spi->max_speed_hz);
-       chip->speed_hz = spi->max_speed_hz;
 
        chip->cr0 = pxa2xx_configure_sscr0(drv_data, clk_div,
                                           spi->bits_per_word);
@@ -1255,7 +1248,6 @@ static int setup(struct spi_device *spi)
                chip->read = u32_reader;
                chip->write = u32_writer;
        }
-       chip->bits_per_word = spi->bits_per_word;
 
        spi_set_ctldata(spi, chip);
 
diff --git a/drivers/spi/spi-pxa2xx.h b/drivers/spi/spi-pxa2xx.h
index 0a9b6390a817..0875e985b90d 100644
--- a/drivers/spi/spi-pxa2xx.h
+++ b/drivers/spi/spi-pxa2xx.h
@@ -98,8 +98,6 @@ struct chip_data {
        u16 lpss_rx_threshold;
        u16 lpss_tx_threshold;
        u8 enable_dma;
-       u8 bits_per_word;
-       u32 speed_hz;
        union {
                int gpio_cs;
                unsigned int frm;
-- 
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