Rebased from upstream / out of band repository.
[librecmc/librecmc.git] / target / linux / generic / pending-4.14 / 131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch
1 From: Felix Fietkau <nbd@nbd.name>
2 Subject: spi: use gpio_set_value_cansleep for setting chipselect GPIO
3
4 Sleeping is safe inside spi_transfer_one_message, and some GPIO chips
5 need to sleep for setting values
6
7 Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 ---
9
10 --- a/drivers/spi/spi.c
11 +++ b/drivers/spi/spi.c
12 @@ -729,7 +729,7 @@ static void spi_set_cs(struct spi_device
13                 enable = !enable;
14  
15         if (gpio_is_valid(spi->cs_gpio)) {
16 -               gpio_set_value(spi->cs_gpio, !enable);
17 +               gpio_set_value_cansleep(spi->cs_gpio, !enable);
18                 /* Some SPI masters need both GPIO CS & slave_select */
19                 if ((spi->controller->flags & SPI_MASTER_GPIO_SS) &&
20                     spi->controller->set_cs)