]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
spi: omap2-mcspi: Fix GPIO chip select support
authorMichael Welling <mwelling@ieee.org>
Sun, 24 May 2015 02:13:44 +0000 (21:13 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 25 May 2015 12:00:04 +0000 (13:00 +0100)
The OMAP2_MCSPI_CHCONF_FORCE must be toggled even when using GPIO
chip selects. This patch conditionally calls the omap2_mcspi_set_cs
function to do so when using GPIO chip selects.

Signed-off-by: Michael Welling <mwelling@ieee.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-omap2-mcspi.c

index 502db29fd0fe79685e3bec7591e9d9064eb46b51..c4e21adb9bf7d8691b2c57e58d642c4706ccc3f9 100644 (file)
@@ -1108,6 +1108,9 @@ static int omap2_mcspi_work_one(struct omap2_mcspi *mcspi,
 
        omap2_mcspi_set_enable(spi, 0);
 
+       if (gpio_is_valid(spi->cs_gpio))
+               omap2_mcspi_set_cs(spi, spi->mode & SPI_CS_HIGH);
+
        if (par_override ||
            (t->speed_hz != spi->max_speed_hz) ||
            (t->bits_per_word != spi->bits_per_word)) {
@@ -1192,6 +1195,9 @@ out:
 
        omap2_mcspi_set_enable(spi, 0);
 
+       if (gpio_is_valid(spi->cs_gpio))
+               omap2_mcspi_set_cs(spi, !(spi->mode & SPI_CS_HIGH));
+
        if (mcspi->fifo_depth > 0 && t)
                omap2_mcspi_set_fifo(spi, t, 0);