From mboxrd@z Thu Jan 1 00:00:00 1970 From: grinberg@compulab.co.il (Igor Grinberg) Date: Wed, 24 Oct 2012 10:56:52 +0200 Subject: [PATCH] gpio/omap: fix off-mode bug: clear debounce clock enable mask on disable In-Reply-To: References: <1351015771-6308-1-git-send-email-khilman@deeprootsystems.com> Message-ID: <5087AD54.60703@compulab.co.il> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 10/24/12 10:16, Linus Walleij wrote: > On Tue, Oct 23, 2012 at 8:09 PM, Kevin Hilman > wrote: > >> From: Kevin Hilman >> >> When debounce clocks are disabled, ensure that the banks >> dbck_enable_mask is cleared also. Otherwise, context restore on >> subsequent off-mode transition will restore previous value from the >> shadow copies (bank->context.debounce*) leading to mismatch state >> between driver state and hardware state. >> >> This was discovered when board code was doing >> >> gpio_request_one() >> gpio_set_debounce() >> gpio_free() >> >> which was leaving the GPIO debounce settings in a confused state. >> Then, enabling off mode causing bogus state to be restored, leaving >> GPIO debounce enabled which then prevented the CORE powerdomain from >> transitioning. >> >> Reported-by: Paul Walmsley >> Cc: Igor Grinberg >> Signed-off-by: Kevin Hilman > > Thanks! Applied with Felipe's and Santosh's ACKs. If not too late: Acked-by: Igor Grinberg Kevin, thanks for the patch and sorry I could not respond on time. -- Regards, Igor.