GPIO and interrupt

Tony He huangya90 at
Wed Jul 26 06:10:17 EDT 2023


I'm writing button driver. The button is based on GPIO.When the button
is pressed or released, the interrupt is generated. According to the
GPIO value(1 or 0) , I can know which action is taken(pressed or
However, a question occurred to me. Do I need to consider when to get
the GPIO value? I mean is it possible that GPIO value will be changed
caused by another interrupt when I get the GPIO value in top or bottom
of first interrupt? I know the CPU is fast and pushing/releasing
button is slow, so it should not happen in practice. But let's just
consider this case in theory. You can assume the button is pushed or
released very very fast.

Seems that GPIO interrupt is special comparing with other device with
cache. There is no cache to store data(GPIO value) for GPIO. Right?
Can someone help to clarify this question? Thanks a lot.


More information about the Kernelnewbies mailing list