5.0-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Russell King <rmk+ker...@armlinux.org.uk>

commit b89fefda7d4e3a649129584d855be233c7465264 upstream.

spi-gpio is capable of dealing with active-high chip-selects.
Unfortunately, commit 4b859db2c606 ("spi: spi-gpio: add SPI_3WIRE
support") broke this by setting master->mode_bits, which overrides
the setting in the spi-bitbang code.  Fix this.

[Fixed a trivial conflict with SPI_3WIRE_HIZ support -- broonie]

Fixes: 4b859db2c606 ("spi: spi-gpio: add SPI_3WIRE support")
Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
Signed-off-by: Mark Brown <broo...@kernel.org>
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/spi/spi-gpio.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/spi/spi-gpio.c
+++ b/drivers/spi/spi-gpio.c
@@ -428,7 +428,8 @@ static int spi_gpio_probe(struct platfor
                return status;
 
        master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
-       master->mode_bits = SPI_3WIRE | SPI_3WIRE_HIZ | SPI_CPHA | SPI_CPOL;
+       master->mode_bits = SPI_3WIRE | SPI_3WIRE_HIZ | SPI_CPHA | SPI_CPOL |
+                           SPI_CS_HIGH;
        master->flags = master_flags;
        master->bus_num = pdev->id;
        /* The master needs to think there is a chipselect even if not 
connected */
@@ -455,7 +456,6 @@ static int spi_gpio_probe(struct platfor
                spi_gpio->bitbang.txrx_word[SPI_MODE_3] = 
spi_gpio_spec_txrx_word_mode3;
        }
        spi_gpio->bitbang.setup_transfer = spi_bitbang_setup_transfer;
-       spi_gpio->bitbang.flags = SPI_CS_HIGH;
 
        status = spi_bitbang_start(&spi_gpio->bitbang);
        if (status)


Reply via email to