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? It can be easily tested if you add .debounce_interval to gpio_keys_button of gpio_keys_platform_data. -- Gražvydas -- 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