aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>2013-11-24 07:37:01 -0500
committerMark Brown <broonie@linaro.org>2013-11-24 09:12:36 -0500
commitd9dda5a1917a01e6317f7bee81e7e6ed236d7e0a (patch)
tree9309119fa4547d6bb5d7301f916681cc565cc451 /drivers/spi
parent6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae (diff)
spi: spi-gpio: Use 'cansleep' variants to access GPIO
The GPIO chip in use could be of any kind, and therefore might sleep when accesing the GPIO lines. Take account of this by using cansleep instead, which is the most generic case. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-gpio.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/spi/spi-gpio.c b/drivers/spi/spi-gpio.c
index 3fb09f981980..7beeb29472ac 100644
--- a/drivers/spi/spi-gpio.c
+++ b/drivers/spi/spi-gpio.c
@@ -115,17 +115,17 @@ spi_to_pdata(const struct spi_device *spi)
115 115
116static inline void setsck(const struct spi_device *spi, int is_on) 116static inline void setsck(const struct spi_device *spi, int is_on)
117{ 117{
118 gpio_set_value(SPI_SCK_GPIO, is_on); 118 gpio_set_value_cansleep(SPI_SCK_GPIO, is_on);
119} 119}
120 120
121static inline void setmosi(const struct spi_device *spi, int is_on) 121static inline void setmosi(const struct spi_device *spi, int is_on)
122{ 122{
123 gpio_set_value(SPI_MOSI_GPIO, is_on); 123 gpio_set_value_cansleep(SPI_MOSI_GPIO, is_on);
124} 124}
125 125
126static inline int getmiso(const struct spi_device *spi) 126static inline int getmiso(const struct spi_device *spi)
127{ 127{
128 return !!gpio_get_value(SPI_MISO_GPIO); 128 return !!gpio_get_value_cansleep(SPI_MISO_GPIO);
129} 129}
130 130
131#undef pdata 131#undef pdata
@@ -229,7 +229,7 @@ static void spi_gpio_chipselect(struct spi_device *spi, int is_active)
229 229
230 if (cs != SPI_GPIO_NO_CHIPSELECT) { 230 if (cs != SPI_GPIO_NO_CHIPSELECT) {
231 /* SPI is normally active-low */ 231 /* SPI is normally active-low */
232 gpio_set_value(cs, (spi->mode & SPI_CS_HIGH) ? is_active : !is_active); 232 gpio_set_value_cansleep(cs, (spi->mode & SPI_CS_HIGH) ? is_active : !is_active);
233 } 233 }
234} 234}
235 235