Hi,
I am working with a DM368 based custom board. we have touch and keypad interfaced to the DM368.
we have interfaced the interrupt pin of touch and keypad to DM368 GPIO0 pin only, due to the shortage of GPIO pins in our system design.
we have programmed the gpio irq as edge trigger falling edge.
we have used the IRQF_SHARED flag in the request_irq, please find the syntax below.
Keypad:
request_irq(priv->irq, keypad_irq_handler_func, IRQF_SHARED, "DM36x_CM_INPUT0", priv);
Touch:
request_irq(priv->irq, touch_irq_handler_func, IRQF_SHARED, "DM36x_CM_INPUT1", priv);
when user do a key press or touch the screen the gpio is pulled low triggering the irq.
but the control is going to both the irq handler functions ( keypad and touch) even though i pressed only for keypad and similar behaviour to touch press also.
I need to have the control going to only one irq handler that is if i press a key the control needs to go to keypad_irq_handler_func
and similarly if i do a touch the control needs to go touch_irq_handler_func.
please suggest what changes i need to make in request_irq to get this desired behaviour.
Thank you, Sreedhar.