All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: Jani Nikula <ext-jani.1.nikula@nokia.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: Thu, 10 Dec 2009 07:24:52 -0800	[thread overview]
Message-ID: <20091210152452.GA13519@suse.de> (raw)
In-Reply-To: <ac3eb2510912100717p11e3c515l2d9155a764befc71@mail.gmail.com>

On Thu, Dec 10, 2009 at 04:17:00PM +0100, Kay Sievers wrote:
> On Thu, Dec 10, 2009 at 15:49, Greg KH <gregkh@suse.de> wrote:
> > On Thu, Dec 10, 2009 at 04:32:17PM +0200, Jani Nikula wrote:
> >> We simply decided to extend gpio_export_link(). When it is called
> >> with 'dev == NULL' (no driver), it creates an additional symlink
> >> in /sys/class/gpio/
> >>
> >> # ls -l /sys/class/gpio/
> >> --w-------    1 root     0            4096 Jan  1 00:00 export
> >> lrwxrwxrwx    1 root     0               0 Jan  1 00:00 power_button -> ../../devices/virtual/gpio/gpio25
> >> lrwxrwxrwx    1 root     0               0 Jan  1 00:00 gpio25 -> ../../devices/virtual/gpio/gpio25
> >> lrwxrwxrwx    1 root     0               0 Jan  1 00:00 gpio38 -> ../../devices/virtual/gpio/gpio38
> >> ...
> >>
> >> This is exactly what our patchset allows to do.
> >>
> >> An alternative would be a dummy driver just to create a home in sysfs
> >> for the standalone GPIOs and use the gpio_export_link() to make the
> >> links there.
> >>
> >> Any other suggestions?
> 
> We can not do anything like that. The symlink name must always match
> the name in /sys/devices/, and it must be a 1:1 relation. We can not
> allow anything else, it confuses tools which rightfully expect this.
> 
> You could convert the class to a "bus", the /sys/class layout is
> pretty much broken by design, and should better be avoided. It's not
> extensible, flat in its layout, and today just a too dumb version of
> the "bus" subsystem which does not have all these limitations.
> 
> All the device links would show up in /sys/bus/gpio/devices/, here you
> have the same rules as in /sys/class/: no additional symlinks, the
> same names as in /sys/devices -- but you could add a custom folder to
> the  /sys/bus/gpio/ directory where you could do whatever fits your
> needs. :)

Ah, yeah, good point, the pci "slots" directory does something like this
today, with symlinks pointing out of that directory to other devices.

It's messy, but it somehow works...

thanks,

greg k-h

  reply	other threads:[~2009-12-10 15:25 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 [this message]
2009-12-11  8:41         ` Jani Nikula
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=20091210152452.GA13519@suse.de \
    --to=gregkh@suse.de \
    --cc=Artem.Bityutskiy@nokia.com \
    --cc=akpm@linux-foundation.org \
    --cc=ben@simtec.co.uk \
    --cc=dbrownell@users.sourceforge.net \
    --cc=dsilvers@simtec.co.uk \
    --cc=ext-jani.1.nikula@nokia.com \
    --cc=kay.sievers@vrfy.org \
    --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 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.