Grazvydas Ignotas <notasas@xxxxxxxxx> writes: > On Mon, Jan 30, 2012 at 9:36 PM, Kevin Hilman <khilman@xxxxxx> wrote: >> Grazvydas Ignotas <notasas@xxxxxxxxx> writes: >> >>> Hi, >>> >>> On 3.2 (I think some earlier versions too), with CONFIG_CPU_IDLE >>> enabled GPIO based buttons are not working properly on OMAP3 pandora, >>> button presses are almost never registered. The buttons are connected >>> GPIO bank4 and have hardware debounce feature enabled. >>> >>> Doing either of the following solves (or hides) the problem: >>> - disabling CPU_IDLE in kernel config >>> - disabling debounce for the buttons >>> - running a program spinning a loop on the CPU >>> >>> From what I can see in the code debounce clock is disabled when >>> entering idle, can those GPIOs work without debounce clock? >> >> Yes, the clock is only for the debounce feature, but the GPIOs are >> capable of wakeups and interrupts with the debounce clock disabled. > > Hmm but it doesn't work here (OMAP3530 ES2.1), /proc/interrupts > doesn't increase when I hit buttons unless something else is happening > at the same time. I wonder if I'm missing something here, does it all > work for you with debounce on? Yes. Specifically, I tested on a n900 which has several GPIOs in the board file (board-rx51.c) with debounce enabled. When I push the button (or slide the switch in this case), I see /proc/interrupts incrementing on an idle system with CPUidle enabled. The same GPIOs can also bring the system out of suspend (debounce clocks are disabled on suspend also.) Kevin -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html