mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Dirk Behme <dirk.behme@de.bosch.com>
Cc: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>,
	linux-kernel@vger.kernel.org, Liam Girdwood <lgirdwood@gmail.com>,
	Gokulkrishnan Nagarajan <Gokulkrishnan.Nagarajan@in.bosch.com>
Subject: Re: [PATCH] regulator: core: GPIO #0 is a valid GPIO
Date: Mon, 1 Sep 2014 11:15:13 +0100	[thread overview]
Message-ID: <20140901101512.GK29327@sirena.org.uk> (raw)
In-Reply-To: <5404246E.4090908@de.bosch.com>

[-- Attachment #1: Type: text/plain, Size: 1920 bytes --]

On Mon, Sep 01, 2014 at 09:46:54AM +0200, Dirk Behme wrote:
> On 29.08.2014 21:01, Mark Brown wrote:

> >No, read the archives

> Could you kindly give us a pointer to the relevant thread in the archive?

Not off the top of my head.

> >this will break boards using zero as default.
> >Any current boards should be using DT and so shouldn't be using fixed
> >GPIO numbers in the first place which will mean they'll not end up
> >getting zero as a valid GPIO.

> Hmm? What's wrong with a DT entry

> <&gpio1 0 0>;

> for ena_gpio resulting in zero as a valid GPIO?

If the platform has been converted to DT fully it's only going to happen
if there are exactly as many GPIOs in the system as there are slots in
the GPIO array which is unlikely to happen and trivial to deal with if
it does.  If the platform has been fully converted the GPIO numbers will
be dynamically allocated and the GPIO API starts from the top of the
GPIO range.

> >If you are using zero as a GPIO for some
> >reason provide a way to specify that the GPIO is a real GPIO and not
> >just the default value for the struct.

> Do you want to say that GPIO #0 (<&gpio1 0 0>;) isn't a valid GPIO for
> config->ena_gpio?

No, explicitly specifying GPIO 0 is a problem but that's really only
likely to happen if someone actually asks for it.

> I wonder how this fits to

> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/gpio/gpio-legacy.txt

> "GPIOs are identified by unsigned integers in the range 0..MAX_INT"

> "If you want to initialize a structure with an invalid GPIO number, use
> some negative number (perhaps "-EINVAL");"

> then?

There's no practical way to deploy that without breaking users - as soon
as you treat 0 as a valid GPIO you make all existing users relying on
the natural behaviour of treating 0 as default instantly buggy which is
not practical.  Really the GPIO API is badly specified here.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  parent reply	other threads:[~2014-09-01 10:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-29 18:19 Dmitry Eremin-Solenikov
2014-08-29 19:01 ` Mark Brown
2014-09-01  7:46   ` Dirk Behme
2014-09-01  7:55     ` Geert Uytterhoeven
2014-09-01 10:15     ` Mark Brown [this message]
2014-09-01 11:59       ` Dmitry Eremin-Solenikov
2014-09-01 12:06         ` Mark Brown
2014-09-01 12:35           ` Dmitry Eremin-Solenikov
2014-09-01 12:49             ` Mark Brown
2014-09-03  9:04               ` Dmitry Eremin-Solenikov
2014-09-03 11:01                 ` Mark Brown
2014-09-04 17:15         ` Linus Walleij
2014-09-04 17:19     ` Linus Walleij

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=20140901101512.GK29327@sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=Gokulkrishnan.Nagarajan@in.bosch.com \
    --cc=dirk.behme@de.bosch.com \
    --cc=dmitry_eremin@mentor.com \
    --cc=lgirdwood@gmail.com \
    --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