Thread (34 messages) 34 messages, 6 authors, 2015-01-12

Re: [Patch v2 2/2] gpio: Document GPIO hogging mechanism

From: Alexandre Courbot <hidden>
Date: 2014-12-02 14:04:47
Also in: linux-devicetree, lkml

On Tue, Dec 2, 2014 at 7:57 AM, Benoit Parrot [off-list ref] wrote:
Alexandre Courbot [off-list ref] wrote on Fri [2014-Nov-28 16:31:19 +0900]:
quoted
On Fri, Nov 21, 2014 at 8:54 AM, Benoit Parrot [off-list ref] wrote:
quoted
Add GPIO hogging documentation to gpio.txt

Signed-off-by: Benoit Parrot <redacted>
---
Changes since v1:
 * Split the devicetree bindings documentation in its own patch.

 Documentation/devicetree/bindings/gpio/gpio.txt | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index 3fb8f53..82755e2 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -103,6 +103,24 @@ Every GPIO controller node must contain both an empty "gpio-controller"
 property, and a #gpio-cells integer property, which indicates the number of
 cells in a gpio-specifier.

+The GPIO chip may contain GPIO hog definitions. GPIO hogging is a mechanism
+providing automatic GPIO request and configuration as part of the
+gpio-controller's driver probe function.
+
+Each GPIO hog definition is represented as a child node of the GPIO controller.
+Required properties:
+- gpio-hog: a property specifying that this child node represent a gpio-hog.
+- gpios: store the gpio information (id, flags, ...). Shall contain the
+  number of cells specified in its parent node (GPIO controller node).
+- input: a property specifying to set the GPIO direction as input.
+- output-high: a property specifying to set the GPIO direction to output with
+  the value high.
+- output-low: a property specifying to set the GPIO direction to output with
+  the value low.
+
+Optional properties:
+- line-name: the GPIO label name. If not present the node name is used.
+
 Example of two SOC GPIO banks defined as gpio-controller nodes:

        qe_pio_a: gpio-controller@1400 {
@@ -110,6 +128,13 @@ Example of two SOC GPIO banks defined as gpio-controller nodes:
                reg = <0x1400 0x18>;
                gpio-controller;
                #gpio-cells = <2>;
+
+               line_b: line_b {
Mmm what is the label used for? Can this node ever be referenced from
somewhere else?
It's not used for anything else as far as I know other than as the line-name to be assigned to the gpio being hogged.
I guess you agree with Linus and should make the line-name mandatory and remove the label altogether?

I was trying to keep the verbosity to a minimum so as to have the possibilty to keep everything on a single line when possible.
It's just that when you see a label, you expect it to be referenced
somewhere, which is obviously not the case here. Just having

line_b {

would work just as well, wouldn't it?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help