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?