[PATCH] gpio/omap: fix off-mode bug: clear debounce clock enable mask on disable
Igor Grinberg
grinberg at compulab.co.il
Wed Oct 24 04:56:52 EDT 2012
On 10/24/12 10:16, Linus Walleij wrote:
> On Tue, Oct 23, 2012 at 8:09 PM, Kevin Hilman
> <khilman at deeprootsystems.com> wrote:
>
>> From: Kevin Hilman <khilman at ti.com>
>>
>> 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 <paul at pwsan.com>
>> Cc: Igor Grinberg <grinberg at compulab.co.il>
>> Signed-off-by: Kevin Hilman <khilman at ti.com>
>
> Thanks! Applied with Felipe's and Santosh's ACKs.
If not too late:
Acked-by: Igor Grinberg <grinberg at compulab.co.il>
Kevin, thanks for the patch and sorry I could not respond on time.
--
Regards,
Igor.
More information about the linux-arm-kernel
mailing list