"Liu, Yan" <[email protected]> writes:

> I am using linux kernel 2.6.30. I am trying to set interrupt type
> like Falling edge or Rising edge to my GPIO. I am using the
> following calls:
>
> set_irq_type(irq_num, IRQ_TYPE_EDGE_RISING)            // here irq_num is 50
> for gpio 6 in DM355
>
> But, the value in GPIO register SET_RIS_TRIG is not set. So, my interrupt
> service route was never called even though my gpio interrupt is registered
> successfully.
>
> But, if I directly set the value in this SET_RIS_TRIG register for my gpio 6,
> the interrupt is raised and my ISR is been called.
>
>  
>
> My questions are:
>
> 1)       If set_irq_type is the right API I should call to set irq type for
> gpio?
>
> 2)       If yes, what I am missing?
>
> 3)       If no, what is the right API I should use to set irq type for gpio?

Instead of set_irq_type(), you should use the flags field of
request_irq() to set the trigering when you request the interrupt.
The IRQF_TRIGGER_* flags from <linux/interrupts.h> are for this
purpose, and in you'll want IRQF_TRIGGER_FALLING.

Kevin

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to