From: Andrew Morton <akpm@linux-foundation.org>
To: Michael Buesch <mb@bu3sch.de>
Cc: dbrownell@users.sourceforge.net, linux-kernel@vger.kernel.org,
openwrt-devel@lists.openwrt.org
Subject: Re: [PATCH] spi-gpio: Sanitize MISO bitvalue
Date: Wed, 18 Feb 2009 13:04:26 -0800 [thread overview]
Message-ID: <20090218130426.a12e6bfa.akpm@linux-foundation.org> (raw)
In-Reply-To: <200902151630.41426.mb@bu3sch.de>
On Sun, 15 Feb 2009 16:30:41 +0100
Michael Buesch <mb@bu3sch.de> wrote:
> 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
>
Seems somewhat pointless, really. It's a very common C idiom to treat
any non-zero value as true, and the above just adds a couple more
instructions which we didn't need to execute.
If this function is speed-critical (which is what David's comment
implies) then perhaps this should be "fixed" by tightening up the
(presently apparently undocumented) interface? And then speeding up
all the other getmiso() implementations?
next prev parent reply other threads:[~2009-02-18 21:06 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2009-02-18 21:52 ` Michael Buesch
2009-02-19 0:29 ` David Brownell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090218130426.a12e6bfa.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=dbrownell@users.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mb@bu3sch.de \
--cc=openwrt-devel@lists.openwrt.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox