linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: mpa@pengutronix.de (Markus Pargmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] gpiolib: Add GPIO name support
Date: Fri, 17 Jul 2015 11:32:41 +0200	[thread overview]
Message-ID: <1437125570-28623-1-git-send-email-mpa@pengutronix.de> (raw)

Hi,

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 '(null)' 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.

Best Regards,

Markus


Markus Pargmann (9):
  gpiolib: Fix possible use of wrong name
  gpiolib-of: Rename gpio_hog functions to be generic
  gpio: Allow hogged gpios to be requested
  gpio: Add 'name' to the gpio descriptor struct
  gpiolib: Implement gpio_name_to_desc()
  gpiolib-of: Reuse 'line-name' from DT as gpio descriptor name
  gpiolib-sysfs: Add gpio name parsing for sysfs export
  gpiolib-sysfs: Show gpio-name in /sys/class/gpio/gpio*/name
  gpiolib: Add gpio name information to /sys/kernel/debug/gpio

 drivers/gpio/gpiolib-of.c     | 45 +++++++++++++++++++------------
 drivers/gpio/gpiolib-sysfs.c  | 61 ++++++++++++++++++++++++++++++++++---------
 drivers/gpio/gpiolib.c        | 46 +++++++++++++++++++++++++++++---
 drivers/gpio/gpiolib.h        |  3 +++
 include/linux/gpio/consumer.h |  7 +++++
 5 files changed, 128 insertions(+), 34 deletions(-)

-- 
2.1.4

             reply	other threads:[~2015-07-17  9:32 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-17  9:32 Markus Pargmann [this message]
2015-07-17  9:32 ` [PATCH 1/9] gpiolib: Fix possible use of wrong name Markus Pargmann
2015-07-28  9:03   ` Johan Hovold
2015-07-29  6:46     ` Markus Pargmann
2015-07-17  9:32 ` [PATCH 2/9] gpiolib-of: Rename gpio_hog functions to be generic Markus Pargmann
2015-07-17  9:32 ` [PATCH 3/9] gpio: Allow hogged gpios to be requested Markus Pargmann
2015-07-17 20:27   ` Uwe Kleine-König
2015-07-19 14:01     ` Markus Pargmann
2015-07-20  6:32       ` Uwe Kleine-König
2015-07-20  7:51         ` Markus Pargmann
2015-07-28  9:17       ` Johan Hovold
2015-07-29  6:52         ` Markus Pargmann
2015-08-10  9:20         ` Linus Walleij
2015-07-17  9:32 ` [PATCH 4/9] gpio: Add 'name' to the gpio descriptor struct Markus Pargmann
2015-07-28  9:24   ` Johan Hovold
2015-07-17  9:32 ` [PATCH 5/9] gpiolib: Implement gpio_name_to_desc() Markus Pargmann
2015-07-17  9:32 ` [PATCH 6/9] gpiolib-of: Reuse 'line-name' from DT as gpio descriptor name Markus Pargmann
2015-07-28  9:31   ` Johan Hovold
2015-07-29  6:52     ` Markus Pargmann
2015-07-17  9:32 ` [PATCH 7/9] gpiolib-sysfs: Add gpio name parsing for sysfs export Markus Pargmann
2015-07-28  9:50   ` Johan Hovold
2015-07-29  6:57     ` Markus Pargmann
2015-07-31  8:44       ` Johan Hovold
2015-07-17  9:32 ` [PATCH 8/9] gpiolib-sysfs: Show gpio-name in /sys/class/gpio/gpio*/name Markus Pargmann
2015-07-28  9:53   ` Johan Hovold
2015-07-29  7:02     ` Markus Pargmann
2015-07-17  9:32 ` [PATCH 9/9] gpiolib: Add gpio name information to /sys/kernel/debug/gpio Markus Pargmann
2015-07-28  9:58   ` Johan Hovold
2015-07-29  7:08     ` Markus Pargmann
2015-07-31  8:54       ` Johan Hovold
2015-07-31 10:41         ` Markus Pargmann
2015-07-31 10:45           ` Johan Hovold
2015-07-31 10:49         ` Lucas Stach
2015-07-17 20:05 ` [PATCH 0/9] gpiolib: Add GPIO name support Linus Walleij
2015-07-21  9:00   ` Alexandre Courbot
2015-07-21  9:54     ` Uwe Kleine-König
2015-07-21 10:10       ` Markus Pargmann
     [not found]         ` <CAGmoSHt0Kg-cxe3U6uV40=ttmFbDruRcJZNxtmSZ=gmZQN5fTw@mail.gmail.com>
2015-07-31  9:49           ` Johan Hovold
2015-07-31 10:42             ` Markus Pargmann
2015-07-28 14:16   ` Johan Hovold
2015-07-29  9:23     ` Linus Walleij
2015-07-31  9:40       ` Johan Hovold

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=1437125570-28623-1-git-send-email-mpa@pengutronix.de \
    --to=mpa@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.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 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).