lkml.org 
[lkml]   [2014]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[Patch v3 0/2] gpio: add GPIO hogging mechanism
Date
This patch set re-introduces the gpio hogging concept first 
presented by Boris Brezillion.
This patch set provides a way to initally configure specific GPIO
when the gpio controller is probed.

The actual DT scanning to collect the GPIO specific data is performed
as part of the of_gpiochip_add().

The purpose of this is to allows specific GPIOs to be configured
without any driver specific code.
This particularly useful because board design are getting
increasingly complex and given SoC pins can now have upward
of 10 mux values a lot of connections are now dependent on
external IO muxes to switch various modes and combination.

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 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 | 23 +++++
drivers/gpio/gpiolib-of.c | 127 ++++++++++++++++++++++++
drivers/gpio/gpiolib.c | 118 +++++++++++++++++-----
drivers/gpio/gpiolib.h | 1 +
include/linux/gpio/consumer.h | 9 ++
5 files changed, 252 insertions(+), 26 deletions(-)

--
1.8.5.1



\
 
 \ /
  Last update: 2014-12-04 22:41    [W:0.066 / U:0.604 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site