From: Jani Nikula <ext-jani.1.nikula@nokia.com>
To: ext Greg KH <gregkh@suse.de>
Cc: bn@niasdigital.com,
"dbrownell@users.sourceforge.net"
<dbrownell@users.sourceforge.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"dsilvers@simtec.co.uk" <dsilvers@simtec.co.uk>,
"ben@simtec.co.uk" <ben@simtec.co.uk>,
"Bityutskiy Artem (Nokia-D/Helsinki)"
<Artem.Bityutskiy@nokia.com>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>
Subject: Re: [PATCH 2/3] gpiolib: add support for having symlinks under gpio class directory
Date: Fri, 11 Dec 2009 10:41:40 +0200 [thread overview]
Message-ID: <1260520900.25352.2823.camel@jani-desktop> (raw)
In-Reply-To: <20091210144920.GA27237@suse.de>
On Thu, 2009-12-10 at 15:49 +0100, ext Greg KH wrote:
> On Thu, Dec 10, 2009 at 04:32:17PM +0200, Jani Nikula wrote:
> > We want to assign symbolic names to GPIO lines and hide the numbering
> > changes from userspace, because it is very painful to amend userspace
> > for every board revision.
>
> True, just like it is hard to change the kernel for every type of
> configuration as well :)
As explained by Artem, the kernel might get that information from the
bootloader, for example, so once things are in place, there'd be no need
to modify either the kernel or the userspace.
> This is the problem that udev solves, from usersapce, but you don't have
> device nodes for it to manage, right?
When exporting a GPIO to sysfs, a struct device is created with 0,0 for
dev_t, so I suppose that's correct.
Not having a device node limits the options with udev, right?
> This type of "policy" should be better off done in userspace whereever
> possible. Can't you just have a udev rule to create symlinks from
> somewhere else, into /sys/class/gpio/ that show this type of information
> that you are wanting to have?
Let's see. 'udevadm monitor --env' gives me this when I 'echo add >
uevent' for an exported gpio #5:
UDEV [1230784956.241303] add /class/gpio/gpio5 (gpio)
UDEV_LOG=3
ACTION=add
DEVPATH=/class/gpio/gpio5
SUBSYSTEM=gpio
SEQNUM=930
UDEVD_EVENT=1
Now *assuming* we had /sys/class/gpio/gpioN/name, I could create very
crude udev rules along the lines of this:
SUBSYSTEM=="gpio", ACTION=="add", ATTR{name}!="", RUN="/bin/ln -s /sys$devpath /tmp/gpio-$attr{name}"
SUBSYSTEM=="gpio", ACTION=="remove", ATTR{name}!="", RUN="/bin/rm /tmp/gpio-$attr{name}"
Not exactly pretty, but seems to work (using another attr for testing).
Is there a more elegant way of doing this with udev when there are no
device nodes? Or is it even sensible to use udev without the device
nodes? And what would be the right place for the symlinks?
*If* we got that working in a sensible fashion, it'd be a matter of
adding the "name" attribute to each gpio.
BR,
Jani.
next prev parent reply other threads:[~2009-12-11 8:43 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-09 13:49 [PATCH 0/3] gpiolib: gpio naming in sysfs Jani Nikula
2009-12-09 13:49 ` [PATCH 1/3] device class: add symlink creation helpers Jani Nikula
2009-12-10 2:49 ` Greg KH
2009-12-09 13:49 ` [PATCH 2/3] gpiolib: add support for having symlinks under gpio class directory Jani Nikula
2009-12-10 2:48 ` Greg KH
2009-12-10 14:32 ` Jani Nikula
2009-12-10 14:49 ` Greg KH
2009-12-10 15:17 ` Kay Sievers
2009-12-10 15:24 ` Greg KH
2009-12-11 8:41 ` Jani Nikula [this message]
2009-12-11 15:38 ` Greg KH
2009-12-11 3:35 ` David Brownell
2009-12-09 13:49 ` [PATCH 3/3] gpiolib: use chip->names for symlinks, always use gpioN for device names Jani Nikula
2009-12-11 3:39 ` David Brownell
2009-12-11 3:47 ` Greg KH
2009-12-11 4:13 ` David Brownell
2009-12-11 4:38 ` Greg KH
2009-12-11 5:13 ` David Brownell
2009-12-11 5:18 ` Greg KH
2009-12-11 5:36 ` Artem Bityutskiy
2009-12-11 5:46 ` Greg KH
2009-12-11 7:51 ` Artem Bityutskiy
2009-12-11 15:36 ` Greg KH
2009-12-11 13:23 ` [PATCH]crypto: Fix complain about lack test for internal used algorithm Youquan,Song
2009-12-11 6:04 ` Herbert Xu
2009-12-19 9:40 ` Youquan,Song
2009-12-19 2:29 ` Herbert Xu
2009-12-19 15:07 ` Youquan,Song
2009-12-19 9:42 ` Herbert Xu
2009-12-21 10:38 ` [Resend PATCH]crypto: " Youquan,Song
2009-12-23 11:59 ` Herbert Xu
2009-12-11 5:22 ` [PATCH 3/3] gpiolib: use chip->names for symlinks, always use gpioN for device names Ben Nizette
2009-12-11 5:12 ` Ben Nizette
2009-12-14 11:16 ` Jani Nikula
2009-12-14 22:27 ` Ben Nizette
2009-12-10 0:02 ` [PATCH 0/3] gpiolib: gpio naming in sysfs Andrew Morton
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=1260520900.25352.2823.camel@jani-desktop \
--to=ext-jani.1.nikula@nokia.com \
--cc=Artem.Bityutskiy@nokia.com \
--cc=akpm@linux-foundation.org \
--cc=ben@simtec.co.uk \
--cc=bn@niasdigital.com \
--cc=dbrownell@users.sourceforge.net \
--cc=dsilvers@simtec.co.uk \
--cc=gregkh@suse.de \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox