Thread (18 messages) 18 messages, 3 authors, 2016-03-15
STALE3768d

[PATCH 3/4] gpio: dt-bindings: Declare gpio-hog optional for GPIO subnodes

From: Markus Pargmann <hidden>
Date: 2016-02-23 07:54:48
Also in: linux-gpio
Subsystem: gpio subsystem, open firmware and flattened device tree bindings, the rest · Maintainers: Linus Walleij, Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds

Reuse the GPIO hogging DT bindings for more generic specifications of
the GPIO. Therefore gpio-hog is declared optional.

Signed-off-by: Markus Pargmann <redacted>
---
 Documentation/devicetree/bindings/gpio/gpio.txt | 28 ++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index 069cdf6f9dac..820898e0649c 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -155,13 +155,25 @@ gpio-controller@00000000 {
 	ngpios = <18>;
 }
 
-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.
+The GPIO chip may contain subnodes describing specific GPIOs of this
+controller. These GPIO nodes can be used to define GPIO hogging or define GPIO
+names.
+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.
+Each GPIO node consists of the following properties:
 Required properties:
+- gpios:      Store the GPIO information (id, flags, ...). Shall contain the
+	      number of cells specified in its parent node (GPIO controller
+	      node).
+
+Optional properties:
+- line-name:  The GPIO name. If not present the node name is used.
 - gpio-hog:   A property specifying that this child node represent a GPIO hog.
+
+For GPIO hogging which is specified by the "gpio-hog" property the following
+additional properties are required.
+Required properties for GPIO hogging:
 - gpios:      Store the GPIO information (id, flags, ...). Shall contain the
 	      number of cells specified in its parent node (GPIO controller
 	      node).
@@ -175,9 +187,6 @@ configuration.
 - output-high A property specifying to set the GPIO direction as output with
 	      the value high.
 
-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 {
@@ -192,6 +201,11 @@ Example of two SOC GPIO banks defined as gpio-controller nodes:
 			output-low;
 			line-name = "foo-bar-gpio";
 		};
+
+		line_c {
+			gpios = <7 0>;
+			line-name = "SCHEMATIC_LINE_NAME";
+		};
 	};
 
 	qe_pio_e: gpio-controller@1460 {
-- 
2.7.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help