Subject: [PATCH] gpio/omap: fix off-mode bug: clear debounce clock enable mask on disable

From: [email-masked] (Igor Grinberg)
Date: Wed, 24 Oct 2012 10:56:52 +0200

On 10/24/12 10:16, Linus Walleij wrote:
> On Tue, Oct 23, 2012 at 8:09 PM, Kevin Hilman
> <[email-masked]> wrote:
> 
>> From: Kevin Hilman <[email-masked]>
>>
>> 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 <[email-masked]>
>> Cc: Igor Grinberg <[email-masked]>
>> Signed-off-by: Kevin Hilman <[email-masked]>
> 
> Thanks! Applied with Felipe's and Santosh's ACKs.

If not too late:
Acked-by: Igor Grinberg <[email-masked]>

Kevin, thanks for the patch and sorry I could not respond on time.

-- 
Regards,
Igor.