All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme@gmail.com>
To: linux-gpio@vger.kernel.org
Cc: Alexandre Courbot <acourbot@nvidia.com>,
	Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH 2/2] Documentation: gpio: board: describe the con_id parameter
Date: Thu, 20 Aug 2015 19:28:51 +0200	[thread overview]
Message-ID: <55D60E53.60607@gmail.com> (raw)
In-Reply-To: <1437808318-4453-2-git-send-email-dirk.behme@gmail.com>

On 25.07.2015 09:11, Dirk Behme 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>
> ---
>   Documentation/gpio/board.txt    | 36 ++++++++++++++++++++++++++++++++++++
>   Documentation/gpio/consumer.txt |  3 +++
>   2 files changed, 39 insertions(+)
>
> diff --git a/Documentation/gpio/board.txt b/Documentation/gpio/board.txt
> index 7605773..eac78fc 100644
> --- a/Documentation/gpio/board.txt
> +++ b/Documentation/gpio/board.txt
> @@ -48,6 +48,42 @@ 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).
>
> +If in the consumer device's node the property doesn't have a <function>- prefix,
> +the second parameter (con_id) of the gpiod_get*() functions has to be NULL:
> +
> +E.g. if in the above device tree example the GPIO array is just called 'gpios'
> +
> +	foo_device {
> +		compatible = "acme,foo";
> +		...
> +		gpios = <&gpio 15 GPIO_ACTIVE_HIGH>, /* red */
> +			<&gpio 16 GPIO_ACTIVE_HIGH>, /* green */
> +			<&gpio 17 GPIO_ACTIVE_HIGH>; /* blue */
> +	};
> +
> +the gpiod_get*() calls will be:
> +
> +	struct gpio_desc *red, *green, *blue, *power;
> +
> +	red = gpiod_get_index(dev, NULL, 0, GPIOD_OUT_HIGH);
> +	green = gpiod_get_index(dev, NULL, 1, GPIOD_OUT_HIGH);
> +	blue = gpiod_get_index(dev, NULL, 2, GPIOD_OUT_HIGH);
> +
> +To summarize:
> +
> +The con_id string parameter has to be either NULL or the <function>-prefix
> +of the GPIO suffixes ("gpios" or "gpio", automatically looked up by the
> +gpiod functions internally):
> +
> +* If the GPIO description is just named with one of the GPIO suffixes
> +  ("gpios" or "gpio"), use NULL.
> +* If the GPIO description is prefixed with anything, e.g. "led-gpios", use the
> +  prefix without the "-" as con_id parameter (in this example "led").
> +
> +In case con_id is not NULL, 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:


Any further comments on this? Or could this be applied?

Best regards

Dirk

  reply	other threads:[~2015-08-20 17:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-25  7:11 [PATCH 1/2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Dirk Behme
2015-07-25  7:11 ` [PATCH 2/2] Documentation: gpio: board: describe the con_id parameter Dirk Behme
2015-08-20 17:28   ` Dirk Behme [this message]
2015-08-21  3:01     ` Alexandre Courbot
2015-08-30  9:14       ` Dirk Behme
2015-08-24 16:47 ` [PATCH 1/2] Documentation: gpio: board: add flags parameter to gpiod_get*() functions Dirk Behme
2015-08-31  5:24 ` Alexandre Courbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55D60E53.60607@gmail.com \
    --to=dirk.behme@gmail.com \
    --cc=acourbot@nvidia.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.