From: Benoit Parrot <bparrot@ti.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org, Alexandre Courbot <gnurou@gmail.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Jiri Prchal <jiri.prchal@aksignal.cz>,
Pantelis Antoniou <panto@antoniou-consulting.com>,
Benoit Parrot <bparrot@ti.com>
Subject: [Patch v6 0/2] gpio: add GPIO hogging mechanism
Date: Mon, 2 Feb 2015 11:44:43 -0600 [thread overview]
Message-ID: <1422899085-678-1-git-send-email-bparrot@ti.com> (raw)
This patch set re-introduces the gpio hogging concept first
presented by Boris Brezillion.
This patch set provides a way to initially configure specific GPIO
when the GPIO controller is probed.
The actual DT scanning to collect the GPIO specific data is performed
as part of of_gpiochip_add().
The purpose of this is to allow specific GPIOs to be configured
without any driver specific code.
This is particularly useful because board design are getting
increasingly complex and given SoC pins can now have more
than 10 mux values a lot of connections are now dependent on
external IO muxes to switch various modes.
Specific drivers should not necessarily need to be aware of
what accounts to a specific board implementation. This board level
"description" should be best kept as part of the dts file.
Changes since v5:
* Addressed review comment from Linus Walleij
* Replace "state" property back with separate boolean properties
* Renamed helper function
* Refactored pr_* calls to remove "__func__"
Changes since v4:
* Addressed review comments from Alexandre Courbot
Changes since v3:
* Relocated the non-DT "hog" function to gpiolib.c.
* Rename some of the function to be clearer and remove _ prefixes.
* Replace the gpiod_request/gpiod_put usage with
gpiochip_request_own_desc/free_own_desc version instead.
* Refactor some of the logic to better handle error condition/reporting
* Renamed the "direction" DT properties to "state".
Changes since v2:
* Refactor the gpio-hog mechanism to split the DT related action
from the actual "hogging" operation.
* This allows non-DT providers to implement hogs as well.
* Added FLAG_IS_HOGGED to mark hogged gpio and make gpiochip removal
able to release hogged gpio.
* Similarly to the hogging, the cleanup is performed as part of
of_gpiochip_remove
Changes since v1:
* Split the devicetree bindings documentation in its own patch.
* Refactor the gpio-hog mechanism as private functions meant to
be to invoked from of_gpiochip_add().
Benoit Parrot (2):
gpio: add GPIO hogging mechanism
gpio: Document GPIO hogging mechanism
Documentation/devicetree/bindings/gpio/gpio.txt | 30 ++++++
drivers/gpio/gpiolib-of.c | 111 +++++++++++++++++++++
drivers/gpio/gpiolib.c | 124 ++++++++++++++++++++----
drivers/gpio/gpiolib.h | 3 +
4 files changed, 249 insertions(+), 19 deletions(-)
--
1.8.5.1
next reply other threads:[~2015-02-02 17:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-02 17:44 Benoit Parrot [this message]
2015-02-02 17:44 ` [Patch v6 1/2] gpio: add GPIO hogging mechanism Benoit Parrot
2015-03-04 10:09 ` Linus Walleij
2015-02-02 17:44 ` [Patch v6 2/2] gpio: Document " Benoit Parrot
2015-03-04 10:11 ` Linus Walleij
2015-02-26 9:38 ` [Patch v6 0/2] gpio: add " Alexandre Courbot
[not found] <AAE35E953C746D4784A1A0C604EFEA714DFBD819@DLEE10.ent.ti.com>
2015-02-18 17:23 ` Benoit Parrot
[not found] ` <20150218172341.GA3851-l0cyMroinI0@public.gmane.org>
2015-02-19 21:46 ` Michael Welling
2015-03-04 9:53 ` Linus Walleij
2015-02-20 4:53 ` Alexandre Courbot
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=1422899085-678-1-git-send-email-bparrot@ti.com \
--to=bparrot@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=gnurou@gmail.com \
--cc=jiri.prchal@aksignal.cz \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maxime.ripard@free-electrons.com \
--cc=panto@antoniou-consulting.com \
/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;
as well as URLs for NNTP newsgroup(s).