linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions
@ 2015-08-30  9:15 Dirk Behme
  2015-08-30  9:15 ` [PATCH 2/2 v2] Documentation: gpio: board: describe the con_id parameter Dirk Behme
  2015-08-31  5:43 ` [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Alexandre Courbot
  0 siblings, 2 replies; 4+ messages in thread
From: Dirk Behme @ 2015-08-30  9:15 UTC (permalink / raw)
  To: Alexandre Courbot; +Cc: linux-gpio, Dirk Behme

With commit 39b2bbe3d715 ("gpio: add flags argument to gpiod_get*()
functions") the gpiod_get*() functions got a 'flags' parameter. Reflect
this in the documentation, too.

Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
---
 Documentation/gpio/board.txt | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/Documentation/gpio/board.txt b/Documentation/gpio/board.txt
index b80606d..7605773 100644
--- a/Documentation/gpio/board.txt
+++ b/Documentation/gpio/board.txt
@@ -39,11 +39,11 @@ This property will make GPIOs 15, 16 and 17 available to the driver under the
 
 	struct gpio_desc *red, *green, *blue, *power;
 
-	red = gpiod_get_index(dev, "led", 0);
-	green = gpiod_get_index(dev, "led", 1);
-	blue = gpiod_get_index(dev, "led", 2);
+	red = gpiod_get_index(dev, "led", 0, GPIOD_OUT_HIGH);
+	green = gpiod_get_index(dev, "led", 1, GPIOD_OUT_HIGH);
+	blue = gpiod_get_index(dev, "led", 2, GPIOD_OUT_HIGH);
 
-	power = gpiod_get(dev, "power");
+	power = gpiod_get(dev, "power", GPIOD_OUT_HIGH);
 
 The led GPIOs will be active-high, while the power GPIO will be active-low (i.e.
 gpiod_is_active_low(power) will be true).
@@ -142,12 +142,11 @@ The driver controlling "foo.0" will then be able to obtain its GPIOs as follows:
 
 	struct gpio_desc *red, *green, *blue, *power;
 
-	red = gpiod_get_index(dev, "led", 0);
-	green = gpiod_get_index(dev, "led", 1);
-	blue = gpiod_get_index(dev, "led", 2);
+	red = gpiod_get_index(dev, "led", 0, GPIOD_OUT_HIGH);
+	green = gpiod_get_index(dev, "led", 1, GPIOD_OUT_HIGH);
+	blue = gpiod_get_index(dev, "led", 2, GPIOD_OUT_HIGH);
 
-	power = gpiod_get(dev, "power");
-	gpiod_direction_output(power, 1);
+	power = gpiod_get(dev, "power", GPIOD_OUT_HIGH);
 
 Since the "power" GPIO is mapped as active-low, its actual signal will be 0
 after this code. Contrary to the legacy integer GPIO interface, the active-low
-- 
2.5.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2 v2] Documentation: gpio: board: describe the con_id parameter
  2015-08-30  9:15 [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Dirk Behme
@ 2015-08-30  9:15 ` Dirk Behme
  2015-08-31  5:45   ` Alexandre Courbot
  2015-08-31  5:43 ` [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Alexandre Courbot
  1 sibling, 1 reply; 4+ messages in thread
From: Dirk Behme @ 2015-08-30  9:15 UTC (permalink / raw)
  To: Alexandre Courbot; +Cc: linux-gpio, Dirk Behme

The con_id parameter has to match the GPIO description and is automatically
extended by the GPIO suffix if not NULL. I had to look into the code to
understand this and properly find the GPIO I've been looking for, so document
this.

Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
---
Changes in v2: Using the "gpios" property without prefix is considered deprecated,
               therefore don't describe it.

 Documentation/gpio/board.txt    | 9 +++++++++
 Documentation/gpio/consumer.txt | 3 +++
 2 files changed, 12 insertions(+)

diff --git a/Documentation/gpio/board.txt b/Documentation/gpio/board.txt
index 7605773..0bfc455 100644
--- a/Documentation/gpio/board.txt
+++ b/Documentation/gpio/board.txt
@@ -48,6 +48,15 @@ This property will make GPIOs 15, 16 and 17 available to the driver under the
 The led GPIOs will be active-high, while the power GPIO will be active-low (i.e.
 gpiod_is_active_low(power) will be true).
 
+The second parameter of the gpiod_get() functions, the con_id string, has to be
+the <function>-prefix of the GPIO suffixes ("gpios" or "gpio", automatically
+looked up by the gpiod functions internally) used in the device tree. With above
+"led-gpios" example, use the prefix without the "-" as con_id parameter: "led".
+
+Internally, the GPIO subsystem prefixes the GPIO suffix ("gpios" or "gpio")
+with the string passed in con_id to get the resulting string
+(snprintf(... "%s-%s", con_id, gpio_suffixes[]).
+
 ACPI
 ----
 ACPI also supports function names for GPIOs in a similar fashion to DT.
diff --git a/Documentation/gpio/consumer.txt b/Documentation/gpio/consumer.txt
index 75542b9..47ce4fd 100644
--- a/Documentation/gpio/consumer.txt
+++ b/Documentation/gpio/consumer.txt
@@ -39,6 +39,9 @@ device that displays digits), an additional index argument can be specified:
 					  const char *con_id, unsigned int idx,
 					  enum gpiod_flags flags)
 
+For a more detailed description of the con_id parameter in the DeviceTree case
+see Documentation/gpio/board.txt
+
 The flags parameter is used to optionally specify a direction and initial value
 for the GPIO. Values can be:
 
-- 
2.5.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions
  2015-08-30  9:15 [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Dirk Behme
  2015-08-30  9:15 ` [PATCH 2/2 v2] Documentation: gpio: board: describe the con_id parameter Dirk Behme
@ 2015-08-31  5:43 ` Alexandre Courbot
  1 sibling, 0 replies; 4+ messages in thread
From: Alexandre Courbot @ 2015-08-31  5:43 UTC (permalink / raw)
  To: Dirk Behme; +Cc: linux-gpio@vger.kernel.org

Argh, just noticed I replied to an older version of this patch! The
comment still applies though.

On Sun, Aug 30, 2015 at 6:15 PM, Dirk Behme <dirk.behme@gmail.com> wrote:
> With commit 39b2bbe3d715 ("gpio: add flags argument to gpiod_get*()
> functions") the gpiod_get*() functions got a 'flags' parameter. Reflect
> this in the documentation, too.
>
> Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
> ---
>  Documentation/gpio/board.txt | 17 ++++++++---------
>  1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/gpio/board.txt b/Documentation/gpio/board.txt
> index b80606d..7605773 100644
> --- a/Documentation/gpio/board.txt
> +++ b/Documentation/gpio/board.txt
> @@ -39,11 +39,11 @@ This property will make GPIOs 15, 16 and 17 available to the driver under the
>
>         struct gpio_desc *red, *green, *blue, *power;
>
> -       red = gpiod_get_index(dev, "led", 0);
> -       green = gpiod_get_index(dev, "led", 1);
> -       blue = gpiod_get_index(dev, "led", 2);
> +       red = gpiod_get_index(dev, "led", 0, GPIOD_OUT_HIGH);
> +       green = gpiod_get_index(dev, "led", 1, GPIOD_OUT_HIGH);
> +       blue = gpiod_get_index(dev, "led", 2, GPIOD_OUT_HIGH);
>
> -       power = gpiod_get(dev, "power");
> +       power = gpiod_get(dev, "power", GPIOD_OUT_HIGH);
>
>  The led GPIOs will be active-high, while the power GPIO will be active-low (i.e.
>  gpiod_is_active_low(power) will be true).
> @@ -142,12 +142,11 @@ The driver controlling "foo.0" will then be able to obtain its GPIOs as follows:
>
>         struct gpio_desc *red, *green, *blue, *power;
>
> -       red = gpiod_get_index(dev, "led", 0);
> -       green = gpiod_get_index(dev, "led", 1);
> -       blue = gpiod_get_index(dev, "led", 2);
> +       red = gpiod_get_index(dev, "led", 0, GPIOD_OUT_HIGH);
> +       green = gpiod_get_index(dev, "led", 1, GPIOD_OUT_HIGH);
> +       blue = gpiod_get_index(dev, "led", 2, GPIOD_OUT_HIGH);
>
> -       power = gpiod_get(dev, "power");
> -       gpiod_direction_output(power, 1);
> +       power = gpiod_get(dev, "power", GPIOD_OUT_HIGH);
>
>  Since the "power" GPIO is mapped as active-low, its actual signal will be 0
>  after this code. Contrary to the legacy integer GPIO interface, the active-low
> --
> 2.5.1
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2 v2] Documentation: gpio: board: describe the con_id parameter
  2015-08-30  9:15 ` [PATCH 2/2 v2] Documentation: gpio: board: describe the con_id parameter Dirk Behme
@ 2015-08-31  5:45   ` Alexandre Courbot
  0 siblings, 0 replies; 4+ messages in thread
From: Alexandre Courbot @ 2015-08-31  5:45 UTC (permalink / raw)
  To: Dirk Behme; +Cc: linux-gpio@vger.kernel.org

On Sun, Aug 30, 2015 at 6:15 PM, Dirk Behme <dirk.behme@gmail.com> wrote:
> The con_id parameter has to match the GPIO description and is automatically
> extended by the GPIO suffix if not NULL. I had to look into the code to
> understand this and properly find the GPIO I've been looking for, so document
> this.
>
> Signed-off-by: Dirk Behme <dirk.behme@gmail.com>

Acked-by: Alexandre Courbot <acourbot@nvidia.com>

Please don't forget to include Linus W. to the v3, otherwise he may
miss your patches.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-08-31  5:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-30  9:15 [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Dirk Behme
2015-08-30  9:15 ` [PATCH 2/2 v2] Documentation: gpio: board: describe the con_id parameter Dirk Behme
2015-08-31  5:45   ` Alexandre Courbot
2015-08-31  5:43 ` [PATCH 1/2 v2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Alexandre Courbot

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).