From: Grant Likely <grant.likely@secretlab.ca>
To: Wolfram Sang <w.sang@pengutronix.de>
Cc: linux-kernel@vger.kernel.org,
Linus Walleij <linus.walleij@linaro.org>,
Stephen Warren <swarren@nvidia.com>,
Denis Kuzmenko <linux@solonet.org.ua>,
Dong Aisheng-B29396 <B29396@freescale.com>
Subject: Re: [PATCH RESEND] gpio: add flags to export GPIOs when requesting
Date: Mon, 16 Jan 2012 09:31:54 -0700 [thread overview]
Message-ID: <20120116163154.GF4223@ponder.secretlab.ca> (raw)
In-Reply-To: <20120106152741.GE2610@pengutronix.de>
On Fri, Jan 06, 2012 at 04:27:41PM +0100, Wolfram Sang wrote:
> On Tue, Dec 13, 2011 at 06:34:01PM +0100, Wolfram Sang wrote:
> > Introduce new flags to automatically export GPIOs when using the convenience
> > functions gpio_request_one() or gpio_request_array(). This eases support for
> > custom boards where lots of GPIOs need to be exported for customer
> > applications.
> >
> > Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
> > ---
> >
> > Based on 3.2-rc5. Previous discussion (with kind of acks) can be found here
> >
> > http://lkml.org/lkml/2011/11/15/378
>
> Ping. I am using this patch with v3.2 right now and it is really useful
> (and no build failure this time (I owe you a drink for my last patch!))
Applied, thanks.
g.
>
> >
> > Documentation/gpio.txt | 3 +++
> > drivers/gpio/gpiolib.c | 12 +++++++++++-
> > include/linux/gpio.h | 5 +++++
> > 3 files changed, 19 insertions(+), 1 deletions(-)
> >
> > diff --git a/Documentation/gpio.txt b/Documentation/gpio.txt
> > index 792faa3..9e28c05 100644
> > --- a/Documentation/gpio.txt
> > +++ b/Documentation/gpio.txt
> > @@ -303,6 +303,9 @@ where 'flags' is currently defined to specify the following properties:
> > * GPIOF_INIT_LOW - as output, set initial level to LOW
> > * GPIOF_INIT_HIGH - as output, set initial level to HIGH
> >
> > + * GPIOF_EXPORT_DIR_FIXED - export gpio to sysfs, keep direction
> > + * GPIOF_EXPORT_DIR_CHANGEABLE - also export, allow changing direction
> > +
> > since GPIOF_INIT_* are only valid when configured as output, so group valid
> > combinations as:
> >
> > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> > index a971e3d..65ba047 100644
> > --- a/drivers/gpio/gpiolib.c
> > +++ b/drivers/gpio/gpiolib.c
> > @@ -1285,8 +1285,18 @@ int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
> > (flags & GPIOF_INIT_HIGH) ? 1 : 0);
> >
> > if (err)
> > - gpio_free(gpio);
> > + goto free_gpio;
> > +
> > + if (flags & GPIOF_EXPORT) {
> > + err = gpio_export(gpio, flags & GPIOF_EXPORT_CHANGEABLE);
> > + if (err)
> > + goto free_gpio;
> > + }
> > +
> > + return 0;
> >
> > + free_gpio:
> > + gpio_free(gpio);
> > return err;
> > }
> > EXPORT_SYMBOL_GPL(gpio_request_one);
> > diff --git a/include/linux/gpio.h b/include/linux/gpio.h
> > index 38ac48b..38afe24 100644
> > --- a/include/linux/gpio.h
> > +++ b/include/linux/gpio.h
> > @@ -14,6 +14,11 @@
> > #define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT | GPIOF_INIT_LOW)
> > #define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT | GPIOF_INIT_HIGH)
> >
> > +#define GPIOF_EXPORT (1 << 2)
> > +#define GPIOF_EXPORT_CHANGEABLE (1 << 3)
> > +#define GPIOF_EXPORT_DIR_FIXED (GPIOF_EXPORT)
> > +#define GPIOF_EXPORT_DIR_CHANGEABLE (GPIOF_EXPORT | GPIOF_EXPORT_CHANGEABLE)
> > +
> > /**
> > * struct gpio - a structure describing a GPIO with configuration
> > * @gpio: the GPIO number
> > --
> > 1.7.2.5
> >
>
> --
> Pengutronix e.K. | Wolfram Sang |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2012-01-16 16:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-13 17:34 [PATCH RESEND] gpio: add flags to export GPIOs when requesting Wolfram Sang
2012-01-06 15:27 ` Wolfram Sang
2012-01-16 16:31 ` Grant Likely [this message]
2012-03-30 20:29 ` Wolfram Sang
2012-03-31 5:54 ` Grant Likely
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=20120116163154.GF4223@ponder.secretlab.ca \
--to=grant.likely@secretlab.ca \
--cc=B29396@freescale.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@solonet.org.ua \
--cc=swarren@nvidia.com \
--cc=w.sang@pengutronix.de \
/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.