Subject: Re: interrupts on GPIOs
To: None <tech-kern@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: tech-kern
Date: 06/12/2006 01:38:05
On Sun, Jun 11, 2006 at 06:25:07PM -0700, Garrett D'Amore wrote:
> I have a question, regarding gpios (gpiobus) and interrupts.
> 
> On AR5312, the GPIO pins can be tied to an interrupt, so that you get an
> external interrupt (don't recall off hand whether edge or level
> triggered).  This is useful because, for example, one of the devices
> that these GPIOs are used with is an external factory reset button.
> 
> The question I have is how do folks feel about the notion of adding some
> kind of interrupt support/facility to the GPIO framework, as an extra
> capability.  Then I could have a device like "resetbutton@gpio7" or
> somesuch.
> 
> What do folks think?  Does it make sense, or should I just use a
> non-GPIO framework based software approach to this problem?

As far as the userland interface is concerned, I favor a kqueue interface
for /dev/gpio?, and a new gpio(4) flag, GPIO_PIN_INTERRUPT, indicating
a pin's capability of generating a h/w interrupt on change.  Hmm, should
EVFILT_READ filter changes?

I do not know enough about the in-kernel framework to speak about gpio
parents notifying their children of interrupts.

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933