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

From: Bill Davidsen
Date: Sat Jul 29 2006 - 15:36:03 EST


Chris Boot wrote:
Hello all,

More and more devices these days come with some sort of GPIO interface, and more and more drivers within the kernel could make use of a common way of accessing pins on such an interface, not to mention userspace apps. For example, we have the I2C, LED, and SPI subsystems that each could drive a device that's actually connected to some GPIO pins somewhere.

I propose to develop a common way of registering and accessing GPIO pins on various devices. Now I'm no hardware expert, but I do like to dabble a bit and would love to see such a system be developed. Most people tend to attach stuff like LCD displays to their parallel ports, but GPIOs are much better suited to such a purpose than a parallel port. Some (out of tree) drivers even emulate a parallel interface in order that userspace software can be fooled to use the GPIO pins as a parallel port. In my view, this is ugly.

...

So, if anyone likes this idea and/or has some comments, please voice your opinions! With a little guidance from the masters, I'm willing to put the effort in to code such a system, but I'd really like to hear what people involved both in the hardware side and software side of GPIOs and the kernel have to say about such an interface.

I think it's interesting enough so that it's worth figuring how this would work with or replace the various interfaces you mentioned. I'm sure another discussion would take place at that point, before writing code.

--
Bill Davidsen <davidsen@xxxxxxx>
Obscure bug of 2004: BASH BUFFER OVERFLOW - if bash is being run by a
normal user and is setuid root, with the "vi" line edit mode selected,
and the character set is "big5," an off-by-one errors occurs during
wildcard (glob) expansion.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/