Re: [RFC] Proposal: common kernel-wide GPIO interface

From: Chris Boot
Date: Mon Jul 31 2006 - 12:08:46 EST

Ben Dooks wrote:
On Sun, Jul 30, 2006 at 03:08:11PM +0200, Robert Schwebel wrote:

On Fri, Jul 28, 2006 at 09:44:40PM +0100, Chris Boot wrote:
I propose to develop a common way of registering and accessing GPIO pins on various devices.
I've attached the gpio framework we have developed a while ago; it is
not ready for upstream, only tested on pxa and has probably several
other drawbacks, but may be a start for your activities. One of the
problems we've recently seen is that for example on PowerPCs you don't
have such a clear "this is gpio pin x" nomenclature, so the question
would be how to do the mapping here.

Right, my $0.02 worth:


Some very interesting comments and suggestions! Thanks very much for all the
info, that's exactly the sort of stuff I needed.

3) The sysfs interface should be configurable, as systems
with lots of GPIO would end up with large numbers of
files and directories in sysfs.

My current idea is to divide the interfaces by GPIO device and port. I've so far
not seen a GPIO device that couldn't be divided into ports of <= 32 bits. How
wide can a 'port' actually become?

Somehow I think that a separate device/file for each pin or possibly even port might not be a wise idea. For example, twiddling individual pins on a GPIO when you connect an LCD, I2C, or SPI interface seems extremely inefficient...

4) you probably want to ensure pull-up resistors are off if the
output is being driven.

Yes, very good idea! So far I haven't managed to fry any chips by driving a pulled up/down output, but it's so easy to make the mistake...


Chris Boot

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at