mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 17:01:14 +00:00
4f8b350be0
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
From d7aa9d52b7f9b2d600f9b2479767c24d438a2c68 Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.org>
|
|
Date: Tue, 3 Jul 2018 14:23:47 +0100
|
|
Subject: [PATCH 161/806] spi: Make GPIO CSs honour the SPI_NO_CS flag
|
|
|
|
The SPI configuration state includes an SPI_NO_CS flag that disables
|
|
all CS line manipulation, for applications that want to manage their
|
|
own chip selects. However, this flag is ignored by the GPIO CS code
|
|
in the SPI framework.
|
|
|
|
Correct this omission with a trivial patch.
|
|
|
|
See: https://github.com/raspberrypi/linux/issues/2169
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|
---
|
|
drivers/spi/spi.c | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/spi/spi.c
|
|
+++ b/drivers/spi/spi.c
|
|
@@ -733,7 +733,9 @@ static void spi_set_cs(struct spi_device
|
|
enable = !enable;
|
|
|
|
if (gpio_is_valid(spi->cs_gpio)) {
|
|
- gpio_set_value_cansleep(spi->cs_gpio, !enable);
|
|
+ /* Honour the SPI_NO_CS flag */
|
|
+ if (!(spi->mode & SPI_NO_CS))
|
|
+ gpio_set_value_cansleep(spi->cs_gpio, !enable);
|
|
/* Some SPI masters need both GPIO CS & slave_select */
|
|
if ((spi->controller->flags & SPI_MASTER_GPIO_SS) &&
|
|
spi->controller->set_cs)
|