On Wed, Oct 01, 2014 at 07:31:53PM +0200, Gilles Chanteperdrix wrote:
> I guess you have to manually call irq_set_irq_type, that being said, if
> you used request_irq, the GPIO should be configured and the type set. If
> you register the Xenomai interrupt after that, it should get the
> interrupt, if it does not get it, it probably means that you have an
> issue in the gpio demuxing code.

So I found now that if I do request_irq first and then rt_intr_create,
then if I pass TRIGGER_HIGH or TRIGGER_LOW, then the system hangs as
soon as rt_intr_create is called (right after dumping the nice message
from ipipe I had in the first email).  If I do request_irq without that,
then it does not hang.  How odd.

If I don't use rt_intr_create and just have a dummy handler in linux
with request_irq, then I get a triggered interrrupt.

Of course if request_irq doesn't specify, then the default is
IRQF_TRIGGER_NONE, which in the gpio-omap driver means not calling
either of handle_level_irq or handle_edge_irq, so it probably isn't doing
anything in that case.  Passing in a trigger makes it call one of those
two functions depending on the trigger type requested.

-- 
Len Sorensen

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to