public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ryan Mallon <ryan@bluewatersys.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: "Peter Tyser" <ptyser@xes-inc.com>,
	linux-kernel@vger.kernel.org, "Alek Du" <alek.du@intel.com>,
	"Samuel Ortiz" <sameo@linux.intel.com>,
	"David Brownell" <dbrownell@users.sourceforge.net>,
	"Eric Miao" <eric.y.miao@gmail.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Mark Brown" <broonie@opensource.wolfsonmicro.com>,
	"Joe Perches" <joe@perches.com>,
	"Alan Cox" <alan@lxorguk.ukuu.org.uk>,
	"Lars-Peter Clausen" <lars@metafoo.de>,
	"Alexander Stein" <alexander.stein@systec-electronic.com>
Subject: Re: [PATCH v5 1/4] gpiolib: Add "unknown" direction support
Date: Mon, 07 Mar 2011 09:19:21 +1300	[thread overview]
Message-ID: <4D73EC49.8030809@bluewatersys.com> (raw)
In-Reply-To: <20110306072505.GC7467@angua.secretlab.ca>

On 03/06/2011 08:25 PM, Grant Likely wrote:

> Back to sysfs:  The sysfs gpio interface is useful for many reasons,
> but it is dangerous much in the same way that /dev/mem is dangerous.
> It gives userspace unfettered access to gpio resources without any
> clues about how it should be used.  I consider it bad practice to
> depend on the gpio sysfs interface for any real system/application.

In an embedded system, where both the kernel and the userspace are
provided by the hardware vendor, it can be completely sensible to rely
on gpio numbers in userspace (though I would also like to see the sysfs
interface able to use named access). There are some existing kernel
interfaces for common gpio functions such as leds and input devices, but
there are also many other valid uses for gpios. There are many reasons
for the access code to be in userspace too: It may be easier to write
and debug, depending on the setup of the device it may be easier to do
firmware upgrades of userspace than it is for the kernel, etc.

> gpio numbers could easily change or become unavailable if a kernel
> driver decides to use them (heck, I'd like to be rid of gpio
> numbers entirely, but that's a separate debate). I'd much rather see
> real device drivers be written for gpio interfaces instead of bodging
> things together from userspace.  Since the addition of an 'unknown'
> direction is solely for benefit of the sysfs interface, I don't (yet)
> see a valid argument for adding it.  *Who cares* if sysfs might report
> direction as 'input' inaccurately?

Because it is incorrect? It may also be useful for a userspace debug
tool to request all available gpios and show the current direction and
value of them.

> It may be mildly inconvenient to a
> human reader, but it doesn't change the usage model one iota because
> the direction still must be explicitly set before using the gpio.

I agree that the usage model should be to request and then explicitly
set the direction before use, but that isn't really an argument for
exporting incorrect information to userspace. The ABI should attempt to
prevent abuse of itself so that crappy userspace apps cannot be written.
Either exporting the direction as "unknown" or making the direction file
unreadable and the value file unreadable/unwritable until the direction
has been explicitly set?

> So, I'm going to say no to this patch.

The patch is small (it adds 9 lines) and fixes an incorrect value being
exported to userspace. By your argument we should actually remove the
ability to read the direction file in sysfs, since userspace must
explicitly set it, and therefore knows what the direction is?

~Ryan

-- 
Bluewater Systems Ltd - ARM Technology Solution Centre

Ryan Mallon         		5 Amuri Park, 404 Barbadoes St
ryan@bluewatersys.com         	PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com	New Zealand
Phone: +64 3 3779127		Freecall: Australia 1800 148 751
Fax:   +64 3 3779135			  USA 1800 261 2934

  reply	other threads:[~2011-03-06 20:19 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-01 23:28 [PATCH v5 1/4] gpiolib: Add "unknown" direction support Peter Tyser
2011-03-01 23:28 ` [PATCH v5 2/4] gpiolib: Add ability to get GPIO direction Peter Tyser
2011-03-06  7:30   ` Grant Likely
2011-03-07  3:07     ` Peter Tyser
2011-03-07  7:08       ` Grant Likely
2011-03-08  0:38         ` Peter Tyser
2011-03-11 17:48           ` Peter Tyser
2011-03-12  9:18           ` Grant Likely
2011-04-20 22:17             ` Peter Tyser
2011-04-20 22:41               ` Mike Frysinger
2011-03-08 12:13         ` Alan Cox
2011-03-09 22:53           ` Peter Tyser
2011-03-12  9:19             ` Grant Likely
2011-03-01 23:28 ` [PATCH v5 3/4] gpio: pca953x: Implement get_direction() hook Peter Tyser
2011-03-01 23:28 ` [PATCH v5 4/4] gpio: Add support for Intel ICHx/3100/Series[56] GPIO Peter Tyser
2011-04-20 16:35   ` [PATCH v6] " Peter Tyser
2011-05-24 14:18     ` Peter Tyser
2011-05-27  6:42     ` Grant Likely
2011-05-27  9:01       ` Jean Delvare
2011-05-27 14:26         ` Peter Tyser
2011-05-27 20:55           ` Grant Likely
2011-05-27 21:29             ` Peter Tyser
2011-05-27 23:54               ` Grant Likely
2011-05-30 17:27                 ` Peter Tyser
2011-06-03 16:43                   ` Grant Likely
2011-03-06  7:25 ` [PATCH v5 1/4] gpiolib: Add "unknown" direction support Grant Likely
2011-03-06 20:19   ` Ryan Mallon [this message]
2011-03-07  2:48     ` Peter Tyser
2011-03-07  6:50     ` Grant Likely
2011-03-07  2:43   ` Peter Tyser
2011-03-07  6:52     ` Grant Likely
2011-03-08  0:28       ` Peter Tyser

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=4D73EC49.8030809@bluewatersys.com \
    --to=ryan@bluewatersys.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=alek.du@intel.com \
    --cc=alexander.stein@systec-electronic.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=dbrownell@users.sourceforge.net \
    --cc=eric.y.miao@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=joe@perches.com \
    --cc=lars@metafoo.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ptyser@xes-inc.com \
    --cc=sameo@linux.intel.com \
    --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