linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Markus Pargmann <mpa@pengutronix.de>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "Alexandre Courbot" <gnurou@gmail.com>,
	"Arun Bharadwaj" <arun@gumstix.com>,
	"Johan Hovold" <johan@kernel.org>,
	linux-gpio@vger.kernel.org, kernel@pengutronix.de,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 0/9] gpiolib: Add GPIO name support
Date: Mon, 21 Sep 2015 12:58:25 +0200	[thread overview]
Message-ID: <20150921105825.GB32203@pengutronix.de> (raw)
In-Reply-To: <1439561466-14350-1-git-send-email-mpa@pengutronix.de>

[-- Attachment #1: Type: text/plain, Size: 5232 bytes --]

Hi,

On Fri, Aug 14, 2015 at 04:10:57PM +0200, Markus Pargmann wrote:
> Changes in v3:
> As discussed in the v2 thread, we are using the already existing gpiochip names
> now. To avoid races between kernel and userspace, the setup of gpio names in
> the gpio descriptors has to happen right before the gpiochip is added for use
> and after the gpio descriptors are available. Unfortunately this is exactly in
> the function gpiochip_add().
> 
> So we can't use a a function as proposed in the discussion like
> gpiochip_set_names(), as this function would only be possible after we executed
> gpiochip_add(). Before that point the gpio descriptors are not available. But
> this can potentially lead to races between userspace and the gpio chip.
> 
> That is the reason why I left the names array in the gpioscript. But this array
> is now only used to initialize the GPIO descriptors. The named sysfs
> directories are now created using the name stored in the gpio descriptor.
> 
> As the name is now directly represented through the sysfs directory name, I am
> not sure if it makes sense to keep the patch which adds a 'name' property to
> the sysfs GPIO directories. For the moment it is still in this series.

Any feedback on this series?

Thanks,

Markus

> 
> Other changes in v3:
>  - Renamed generic of_parse_gpio() to of_parse_own_gpio()
>  - Replaced pr_warn with dev_warn as the device is available in the parsing code
>    in gpiolib-of
>  - Introduced name collision checks when adding the names from gpiochip->names
>    to the gpio descriptors
>  - Added documentation about /sys/class/gpio/<GPIO>/name
>  - Added check for DT in case the GPIO already has a name. This may happen as
>    there are different ways to set a name, through 'line-name' property and
>    node name
> 
> Best Regards,
> 
> Markus
> 
> 
> Changes in v2:
>  - Removed patch 'gpiolib: Fix possible use of wrong name'
>  - Removed discussed patch 'gpio: Allow hogged gpios to be requested' from this
>    series
>  - Fixed show gpio name patch (locks, (null) printing, and getting the descriptor)
>  - Merged gpio name patch into gpio_name_to_desc() patch
> 
> Description from v1:
> 
> This is a proposal to add GPIO names to the kernel based on devicetree
> descriptions.
> 
> This series adds GPIO name support. Until now it is only possible to use names
> for already requested GPIOs (for example what they are used for). It is not
> possible to identify GPIOs by a name although most of them have a name for
> example in the schematics of the board. This makes it difficult to identify
> a specific GPIO from userspace.
> 
> As the GPIO name information is a hardware description this series uses the
> devicetree bindings introduced by the GPIO hogging mechanism, specifically
> 'line-name', to identify GPIOs. The sysfs 'export' file is changed to accept
> names as fallback. The gpio numbers still have a higher priority to ensure
> backwards compatibility.
> 
> Exported GPIOs are still using their number as directory name (gpio<ID>). But the
> directories now contain a 'name' file which is '' for non-existent names and
> the name otherwise.
> 
> This series can be used to have an easy name mapping for udev with a quite
> simple rule similar to this:
> 	SUBSYSTEM=="gpio", KERNEL=="gpio*", ATTR{name}!="(null)", ACTION=="add", \
> 	PROGRAM+="/bin/sh -c 'mkdir -p /dev/gpios; rm -f /dev/gpios/$attr{name}; ln -s /sys%p/ /dev/gpios/$attr{name}"
> With this rule udev adds a link for each exported GPIO with a name into
> /dev/gpios/. This way it is not necessary to know the number of a GPIO to use
> it.
> 
> 
> Markus Pargmann (9):
>   gpiolib-of: Rename gpio_hog functions to be generic
>   gpio: Introduce gpio descriptor 'name'
>   gpiolib: Use GPIO name from names array for gpio descriptor
>   gpio-sysfs: Use gpio descriptor name instead of gpiochip names array
>   gpiolib: Add gpio name information to /sys/kernel/debug/gpio
>   gpiolib-sysfs: Show gpio-name in /sys/class/gpio/gpio*/name
>   gpiolib-sysfs: Add gpio name parsing for sysfs export
>   gpiolib-of: Reuse 'line-name' from DT as gpio descriptor name
>   gpiolib-of: Use dev_warn instead of pr_warn
> 
>  Documentation/ABI/testing/sysfs-gpio |  1 +
>  drivers/gpio/gpiolib-of.c            | 50 +++++++++++++---------
>  drivers/gpio/gpiolib-sysfs.c         | 67 +++++++++++++++++++++---------
>  drivers/gpio/gpiolib.c               | 80 ++++++++++++++++++++++++++++++++++--
>  drivers/gpio/gpiolib.h               |  3 ++
>  include/linux/gpio/consumer.h        |  7 ++++
>  6 files changed, 166 insertions(+), 42 deletions(-)
> 
> -- 
> 2.4.6
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

      parent reply	other threads:[~2015-09-21 10:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14 14:10 [PATCH v3 0/9] gpiolib: Add GPIO name support Markus Pargmann
2015-08-14 14:10 ` [PATCH v3 1/9] gpiolib-of: Rename gpio_hog functions to be generic Markus Pargmann
2015-09-22  0:48   ` Linus Walleij
2015-08-14 14:10 ` [PATCH v3 2/9] gpio: Introduce gpio descriptor 'name' Markus Pargmann
2015-09-22  0:51   ` Linus Walleij
2015-08-14 14:11 ` [PATCH v3 3/9] gpiolib: Use GPIO name from names array for gpio descriptor Markus Pargmann
2015-09-22  0:56   ` Linus Walleij
2015-09-23 22:02   ` Johan Hovold
2015-09-24 21:50     ` Linus Walleij
2015-08-14 14:11 ` [PATCH v3 4/9] gpio-sysfs: Use gpio descriptor name instead of gpiochip names array Markus Pargmann
2015-09-22  0:57   ` Linus Walleij
2015-08-14 14:11 ` [PATCH v3 5/9] gpiolib: Add gpio name information to /sys/kernel/debug/gpio Markus Pargmann
2015-09-22  1:05   ` Linus Walleij
2015-08-14 14:11 ` [PATCH v3 6/9] gpiolib-sysfs: Show gpio-name in /sys/class/gpio/gpio*/name Markus Pargmann
2015-09-22  1:07   ` Linus Walleij
2015-09-24  7:14     ` Markus Pargmann
2015-08-14 14:11 ` [PATCH v3 7/9] gpiolib-sysfs: Add gpio name parsing for sysfs export Markus Pargmann
2015-09-22  1:09   ` Linus Walleij
2015-09-24  7:23     ` Markus Pargmann
2015-08-14 14:11 ` [PATCH v3 8/9] gpiolib-of: Reuse 'line-name' from DT as gpio descriptor name Markus Pargmann
2015-08-14 14:11 ` [PATCH v3 9/9] gpiolib-of: Use dev_warn instead of pr_warn Markus Pargmann
2015-09-21 10:58 ` Markus Pargmann [this message]

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=20150921105825.GB32203@pengutronix.de \
    --to=mpa@pengutronix.de \
    --cc=arun@gumstix.com \
    --cc=gnurou@gmail.com \
    --cc=johan@kernel.org \
    --cc=kernel@pengutronix.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=u.kleine-koenig@pengutronix.de \
    /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 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).