kernel: spi: allow setting chipselect gpio to sleep
Fixes issues on some ar71xx MikroTik RouterBoard devices Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
af79fdbe4a
commit
5f9e367127
1 changed files with 21 additions and 0 deletions
|
@ -0,0 +1,21 @@
|
|||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Fri, 30 Dec 2016 14:53:45 +0100
|
||||
Subject: [PATCH] spi: use gpio_set_value_cansleep for setting chipselect GPIO
|
||||
|
||||
Sleeping is safe inside spi_transfer_one_message, and some GPIO chips
|
||||
need to sleep for setting values
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/drivers/spi/spi.c
|
||||
+++ b/drivers/spi/spi.c
|
||||
@@ -674,7 +674,7 @@ static void spi_set_cs(struct spi_device
|
||||
enable = !enable;
|
||||
|
||||
if (gpio_is_valid(spi->cs_gpio))
|
||||
- gpio_set_value(spi->cs_gpio, !enable);
|
||||
+ gpio_set_value_cansleep(spi->cs_gpio, !enable);
|
||||
else if (spi->master->set_cs)
|
||||
spi->master->set_cs(spi, !enable);
|
||||
}
|
Loading…
Reference in a new issue