public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] spi-gpio: Sanitize MISO bitvalue
@ 2009-02-15 15:30 Michael Buesch
  2009-02-16 19:58 ` David Brownell
  2009-02-18 21:04 ` Andrew Morton
  0 siblings, 2 replies; 5+ messages in thread
From: Michael Buesch @ 2009-02-15 15:30 UTC (permalink / raw)
  To: David Brownell; +Cc: Andrew Morton, linux-kernel, openwrt-devel

gpio_get_value() returns 0 or nonzero, but getmiso() expects 0 or 1.
Sanitize the value to a 0/1 boolean.

Signed-off-by: Michael Buesch <mb@bu3sch.de>

---

Well, we could also change the bitbang helpers in linux/spi/spi_bitbang.h
or change the way the gpio_get_value API is defined, but I personally think
this patch is pretty good as is.
In any case, it fixes a real bug on platforms like the bcm47xx which
return 0 or nonzero for gpio_get_value.

Index: linux-2.6/drivers/spi/spi_gpio.c
===================================================================
--- linux-2.6.orig/drivers/spi/spi_gpio.c	2009-02-14 21:37:14.000000000 +0100
+++ linux-2.6/drivers/spi/spi_gpio.c	2009-02-15 16:27:16.000000000 +0100
@@ -114,7 +114,7 @@ static inline void setmosi(const struct 
 
 static inline int getmiso(const struct spi_device *spi)
 {
-	return gpio_get_value(SPI_MISO_GPIO);
+	return !!gpio_get_value(SPI_MISO_GPIO);
 }
 
 #undef pdata

-- 
Greetings, Michael.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-02-19  0:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-15 15:30 [PATCH] spi-gpio: Sanitize MISO bitvalue Michael Buesch
2009-02-16 19:58 ` David Brownell
2009-02-18 21:04 ` Andrew Morton
2009-02-18 21:52   ` Michael Buesch
2009-02-19  0:29   ` David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox