All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Cc: linux-kernel@vger.kernel.org, i2c@lm-sensors.org
Subject: Re: [PATCH] Define a NO_GPIO macro to compare against and to use as an invalid GPIO
Date: Fri, 8 Feb 2008 15:43:42 -0800	[thread overview]
Message-ID: <200802081543.42467.david-b@pacbell.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0801311624370.8478@axis700.grange>

On Thursday 31 January 2008, Guennadi Liakhovetski wrote:
> As discussed on i2c mailing list with David Brownell, and number
> outside of the 0...MAX_INT range is invalid as a GPIO number.
> Define a macro, similar to NO_IRQ, to be used as a deliberate
> invalid GPIO, rather than defining a is_valid_gpio() macro.

Actually I thought that what you needed was an is_valid_gpio();
your motivation was that you needed a predicate.

The problem I have with a #define for a single such invalid GPIO
number is that people will inevitably start to assume it's the
only such number.  In particular "if (gpio == NO_GPIO) ..."
is by definition incorrect.

So I'd really rather see a predicate like is_valid_gpio().

If you want to designate one value for use as an initializer,
then I'd rather see a simple

	#define NO_GPIO	(-EINVAL)

without any option for arch-specific overrides ... along with a
comment that this is only *one* of the numerous values which
will fail is_valid_gpio().

- Dave



> 
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
> 
> ---
> 
> As gpiolib doesn't seem to have an own mailing list, sending it directly 
> to LKML.
> 
>  include/asm-generic/gpio.h |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
> index f29a502..806b86c 100644
> --- a/include/asm-generic/gpio.h
> +++ b/include/asm-generic/gpio.h
> @@ -16,6 +16,10 @@
>  #define ARCH_NR_GPIOS		256
>  #endif
>  
> +#ifndef NO_GPIO
> +#define NO_GPIO			((unsigned int)-1)
> +#endif
> +
>  struct seq_file;
>  
>  /**
> -- 
> 1.5.3.4
> 

  parent reply	other threads:[~2008-02-08 23:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-31 15:26 [PATCH] Define a NO_GPIO macro to compare against and to use as an invalid GPIO Guennadi Liakhovetski
2008-02-07 15:24 ` Guennadi Liakhovetski
2008-02-08 23:43 ` David Brownell [this message]
2008-02-10  0:13   ` Guennadi Liakhovetski
     [not found]     ` <Pine.LNX.4.64.0802100053450.7517-0199iw4Nj15frtckUFj5Ag@public.gmane.org>
2008-02-10  1:27       ` David Brownell
2008-02-10  1:27         ` David Brownell
2008-02-10 17:59         ` Guennadi Liakhovetski

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=200802081543.42467.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=g.liakhovetski@pengutronix.de \
    --cc=i2c@lm-sensors.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.