All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Alexandre Courbot <gnurou@gmail.com>
Cc: Alexandre Courbot <acourbot@nvidia.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] gpio: make of_get_named_gpiod_flags() private
Date: Mon, 19 May 2014 17:15:45 +0200	[thread overview]
Message-ID: <20140519151543.GA30194@ulmo> (raw)
In-Reply-To: <CAAVeFu+c1t=QJzL9-pZVaTzvTD2Ydrv__yKHnn+-SA11zsxu_A@mail.gmail.com>

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

On Tue, May 20, 2014 at 12:07:40AM +0900, Alexandre Courbot wrote:
> On Mon, May 19, 2014 at 10:28 PM, Thierry Reding
> <thierry.reding@gmail.com> wrote:
> > On Sat, May 17, 2014 at 02:54:50PM +0900, Alexandre Courbot wrote:
> >> of_get_named_gpiod_flags() is visible and directly usable by GPIO
> >> consumers, but it really should not as the gpiod interface relies
> >> on the simpler gpiod_get() to provide properly-configured GPIOs.
> >>
> >> of_get_named_gpiod_flags() is just used internally by gpiolib to
> >> implement gpiod_get(), and by the old of_get_named_gpio_flags()
> >> function, therefore it makes sense to make it gpiolib-private.
> >>
> >> As a side-effect, the unused (and unneeded) of_get_gpiod_flags()
> >> inline function is also removed, and of_get_named_gpio_flags() is moved
> >> from a static inline function to a regular one in gpiolib-of.c
> >>
> >> This results in all references to gpiod_* functions in of_gpio.h being
> >> gone, which is the way it should be since this file is part of the old
> >> integer GPIO interface.
> >>
> >> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
> >> ---
> >> Changes since v1:
> >> - Fixed compilation error when CONFIG_OF_GPIO is not defined
> >> - Fixed warning due to of_gpio_flags enum not being declared
> >>   in private gpiolib.h header
> >>
> >>  drivers/gpio/gpiolib-of.c | 14 ++++++++++++++
> >>  drivers/gpio/gpiolib.h    |  5 +++++
> >>  include/linux/of_gpio.h   | 35 +++--------------------------------
> >>  3 files changed, 22 insertions(+), 32 deletions(-)
> >
> > There are cases where GPIOs need to be obtained from device tree nodes
> > without a corresponding struct device. Do you have any ideas on how to
> > support such use-cases?
> >
> > There's currently no API to do that except of_get_named_gpio_flags().
> > But that doesn't handled flags automatically in a way that gpiod_get()
> > does.
> 
> Yeah, there is probably some legacy stuff that will need a few more
> functions to be handled using gpiod.
> 
> As much as possible I'd like to avoid provider-specific functions, but
> in the worst case we can imagine making another function available for
> that:
> 
> struct gpio_desc *of_gpiod_get_index(struct device_node *np, const
> char *con_id, unsigned int idx);
> 
> that will handle flags properly and everything. Would that do the trick?

Yes, I think it would. Perhaps with a of_gpiod_get() wrapper that sets
idx = 0. I'm aware of patches in the works that will require this, but
until they're posted I don't think we'll need this. We can revisit at
that time. Just wanted to mention this as a heads-up.

Thierry

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

  reply	other threads:[~2014-05-19 15:18 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-17  5:54 [PATCH v2] gpio: make of_get_named_gpiod_flags() private Alexandre Courbot
2014-05-19 13:28 ` Thierry Reding
2014-05-19 15:07   ` Alexandre Courbot
2014-05-19 15:15     ` Thierry Reding [this message]
2014-05-21  9:16 ` Linus Walleij
2014-05-23  3:34   ` Alexandre Courbot
2014-05-23  7:34     ` 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=20140519151543.GA30194@ulmo \
    --to=thierry.reding@gmail.com \
    --cc=acourbot@nvidia.com \
    --cc=gnurou@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@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 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.