]> Pileus Git - ~andy/linux/commitdiff
spi/gpio: start with CS non-active
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 9 Feb 2012 21:21:45 +0000 (22:21 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 10 Jul 2012 14:28:56 +0000 (15:28 +0100)
The chip select line was configured as output with the initial value
being active explicitly. It was later deasserted during
spi_bitbang_setup() without any clock activity in between. So it makes
no sense to activate the device at all and the chip select line can
better start non-active.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/spi/spi-gpio.c

index 0094c645ff0d4cc4562412ef020e6ba838966779..0b56cfc71fabe28968d1f6d2a299bc5c281861e9 100644 (file)
@@ -235,7 +235,8 @@ static int spi_gpio_setup(struct spi_device *spi)
                        status = gpio_request(cs, dev_name(&spi->dev));
                        if (status)
                                return status;
-                       status = gpio_direction_output(cs, spi->mode & SPI_CS_HIGH);
+                       status = gpio_direction_output(cs,
+                                       !(spi->mode & SPI_CS_HIGH));
                }
        }
        if (!status)