From: Joe Perches <joe@perches.com>
To: Linus Walleij <linus.walleij@linaro.org>,
Arnd Bergmann <arnd@arndb.de>,
Grant Likely <grant.likely@secretlab.ca>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: [PATCH] gpio: Convert gpio_is_valid to return bool
Date: Tue, 10 May 2011 16:23:07 -0700 [thread overview]
Message-ID: <1305069787.19586.141.camel@Joe-Laptop> (raw)
In-Reply-To: <BANLkTi=zDJLHUa2ogTeEkmdsbkhvGJCsEw@mail.gmail.com>
Make the code a bit more readable.
Instead of casting an int to an unsigned then comparing to
MAX_NR_GPIOS, add a >= 0 test and let the compiler optimizer
do the conversion to unsigned.
The generated code should be the same.
Signed-off-by: Joe Perches <joe@perches.com>
---
This came up because of a new pinmux subsystem that used
a style copied from gpio and a request from Linus Walleij.
On Wed, 2011-05-11 at 00:52 +0200, Linus Walleij wrote:
> 2011/5/11 Joe Perches <joe@perches.com>:
> > On Wed, 2011-05-11 at 00:18 +0200, Linus Walleij wrote:
> >> 2011/5/2 Joe Perches <joe@perches.com>:
> >> > On Mon, 2011-05-02 at 21:16 +0200, Linus Walleij wrote:
> >> >> From: Linus Walleij <linus.walleij@linaro.org>
> >> >> diff --git a/drivers/pinmux/core.c b/drivers/pinmux/core.c
> >> > Trivial comments follow
> >> >> +static inline int pin_is_valid(int pin)
> >> >> +{
> >> >> + return ((unsigned)pin) < MACH_NR_PINS;
> >> >> +}
> >> > Couldn't pin just be declared unsigned or maybe u32?
> >> No, because like in the GPIO subsystem you *may* want to send in invalid
> >> pins, and those are identified by negative numbers.
> > Then I think this is clearer and the compiler
> > should produce the same code.
> > static inline bool pin_is_valid(int pin)
> > {
> > return pin >= 0 && pin < MACH_NR_PINS;
> > }
> Yes indeed, I'll fix. Can you propose a patch to the same pattern
> found in include/asm-generic/gpio.h? It would bring equal
> clarity there I believe.
include/asm-generic/gpio.h | 6 +++---
include/linux/gpio.h | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
index ce16e70..315ecb7 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -35,9 +35,9 @@
* platform data and other tables.
*/
-static inline int gpio_is_valid(int number)
+static inline bool gpio_is_valid(int number)
{
- return ((unsigned)number) < ARCH_NR_GPIOS;
+ return number >= 0 && number < ARCH_NR_GPIOS;
}
struct device;
@@ -216,7 +216,7 @@ extern void gpio_unexport(unsigned gpio);
#else /* !CONFIG_GPIOLIB */
-static inline int gpio_is_valid(int number)
+static inline bool gpio_is_valid(int number)
{
/* only non-negative numbers are valid */
return number >= 0;
diff --git a/include/linux/gpio.h b/include/linux/gpio.h
index fa92e50..0af3bca 100644
--- a/include/linux/gpio.h
+++ b/include/linux/gpio.h
@@ -79,9 +79,9 @@ struct gpio_chip;
* warning when something is wrongly called.
*/
-static inline int gpio_is_valid(int number)
+static inline bool gpio_is_valid(int number)
{
- return 0;
+ return false;
}
static inline int gpio_request(unsigned gpio, const char *label)
next prev parent reply other threads:[~2011-05-10 23:23 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-02 19:16 [PATCH 1/4] drivers: create a pinmux subsystem Linus Walleij
2011-05-02 19:37 ` Joe Perches
2011-05-10 22:18 ` Linus Walleij
2011-05-10 22:37 ` Joe Perches
2011-05-10 22:52 ` Linus Walleij
2011-05-10 23:23 ` Joe Perches [this message]
2011-05-10 23:42 ` [PATCH] gpio: Convert gpio_is_valid to return bool Linus Walleij
2011-05-27 3:02 ` Grant Likely
2011-05-10 22:40 ` [PATCH 1/4] drivers: create a pinmux subsystem Mark Brown
2011-05-02 20:52 ` Stephen Warren
2011-05-02 21:30 ` Colin Cross
2011-05-04 9:22 ` Tony Lindgren
2011-05-07 19:06 ` Mike Rapoport
2011-05-09 15:25 ` Tony Lindgren
2011-05-03 1:45 ` Ben Nizette
2011-05-10 22:46 ` Linus Walleij
2011-05-03 1:47 ` Ben Nizette
2011-05-04 9:16 ` Tony Lindgren
2011-05-07 19:10 ` Mike Rapoport
2011-05-09 15:46 ` Tony Lindgren
2011-05-05 18:16 ` Rohit Vaswani
2011-05-07 20:09 ` Greg KH
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=1305069787.19586.141.camel@Joe-Laptop \
--to=joe@perches.com \
--cc=arnd@arndb.de \
--cc=grant.likely@secretlab.ca \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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
Powered by JetHome