spi: rb4xx: Fix set_cs logic.
authorBert Vermeulen <bert@biot.com>
Mon, 20 Apr 2015 13:53:25 +0000 (15:53 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 20 Apr 2015 20:34:59 +0000 (21:34 +0100)
As it turns out, the set_cs() enable parameter refers to the logic level
on the CS pin, not the state of chip selection.

This broke functionality of the LEDs behind the CPLD, or at least delayed
the commands until another one came in to toggle CS.

Signed-off-by: Bert Vermeulen <bert@biot.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-rb4xx.c

index 9b449d4f9871125917be8b51ed9ba82a8853e853..50f49f38e73c5e5f006f0a0d7c1f99df87157dd6 100644 (file)
@@ -90,7 +90,7 @@ static void rb4xx_set_cs(struct spi_device *spi, bool enable)
         * since it's all on the same hardware register. However the
         * CPLD needs CS deselected after every command.
         */
-       if (!enable)
+       if (enable)
                rb4xx_write(rbspi, AR71XX_SPI_REG_IOC,
                            AR71XX_SPI_IOC_CS0 | AR71XX_SPI_IOC_CS1);
 }