Re: PCA GPIO interrupt triggers, matrix-keypad

From: Wolfram Sang
Date: Tue Mar 27 2012 - 03:54:46 EST


On Mon, Mar 26, 2012 at 12:27:28PM +0200, Peter Rusko wrote:

> >? I fail to see why having EDGE_FALLING together with EDGE_RISING is not
> >supported. Are you sure you didn't use some other IRQ_TYPE here?
> >
> Yes, you're right, the problem is not there.

It was the most likely answer looking at how IRQ_TYPE_EDGE_BOTH is
defined.

>
> >>I think, this patch should work:
> >
> >Think? Can't you test it :)
> I wish that could be that simple :)
>
> I can test it with the matrix-keypad driver. But there's an inverter
> (+delay) in the circuit (to prevent contact bounce) and I don't know how
> it affects the signals. But in the end sometimes I don't get e.g. the
> key-release event.

It would be great if you could find out, since it might result in
arbitrary patches otherwise which would be a waste of time to review.

> Another change in the code was with the IRQ request. I could only make
> the matrix-keypad driver working with threaded interrupts:

[...]

> Is this okay, or is there another way?

The change itself is basically correct, but you need to make a proper
patch out of it. Please read Documentation/SubmittingPatches (also
Documentation/development-process/ if you haven't already) how to
generate one. Look at other threaded irq users how to convert properly
(you are missing something). Please CC me to the generated patch.

Regards,

Wolfram

--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |

Attachment: signature.asc
Description: Digital signature