]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/spi/spi-davinci.c
Merge remote-tracking branch 'spi/topic/davinci' into spi-next
[karo-tx-linux.git] / drivers / spi / spi-davinci.c
index a85d863d4a442f2f30633db5de0ff469ee9c6348..7d3af3eacf57d7c7e82722fadf2f1fdece1a8ed2 100644 (file)
@@ -215,18 +215,10 @@ static void davinci_spi_chipselect(struct spi_device *spi, int value)
        struct davinci_spi_config *spicfg = spi->controller_data;
        u8 chip_sel = spi->chip_select;
        u16 spidat1 = CS_DEFAULT;
-       bool gpio_chipsel = false;
-       int gpio;
 
        dspi = spi_master_get_devdata(spi->master);
        pdata = &dspi->pdata;
 
-       if (spi->cs_gpio >= 0) {
-               /* SPI core parse and update master->cs_gpio */
-               gpio_chipsel = true;
-               gpio = spi->cs_gpio;
-       }
-
        /* program delay transfers if tx_delay is non zero */
        if (spicfg->wdelay)
                spidat1 |= SPIDAT1_WDEL;
@@ -235,11 +227,12 @@ static void davinci_spi_chipselect(struct spi_device *spi, int value)
         * Board specific chip select logic decides the polarity and cs
         * line for the controller
         */
-       if (gpio_chipsel) {
+       if (spi->cs_gpio >= 0) {
                if (value == BITBANG_CS_ACTIVE)
-                       gpio_set_value(gpio, spi->mode & SPI_CS_HIGH);
+                       gpio_set_value(spi->cs_gpio, spi->mode & SPI_CS_HIGH);
                else
-                       gpio_set_value(gpio, !(spi->mode & SPI_CS_HIGH));
+                       gpio_set_value(spi->cs_gpio,
+                               !(spi->mode & SPI_CS_HIGH));
        } else {
                if (value == BITBANG_CS_ACTIVE) {
                        spidat1 |= SPIDAT1_CSHOLD_MASK;