]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
gpio/omap: cleanup prepare_for_idle and resume_after_idle
authorTarun Kanti DebBarma <tarun.kanti@ti.com>
Wed, 23 Nov 2011 21:14:29 +0000 (02:44 +0530)
committerTarun Kanti DebBarma <tarun.kanti@ti.com>
Mon, 6 Feb 2012 11:10:48 +0000 (16:40 +0530)
commit2dc983c565e03f6f6f96c5fe7449b65d86af4dee
tree10603d101152685569c0dca7107ba733c9b6d133
parent065cd795d2721f8d2d1f2967ee6ed0aec07a4202
gpio/omap: cleanup prepare_for_idle and resume_after_idle

Since *_prepare_for_idle() and *_resume_after_idle() are called
with interrupts disabled they should be kept as simple as possible.
So, moving most of the stuff to *_runtime_suspend/resume() callbacks.

To avoid invalid context restore happening in *_runtime_resume()
callback as a result of *_get_sync() call in *_gpio_probe(), update
bank->context_loss_count. This would make context restore condition
check false in the callback and skip restore until further
initialization take place. The workaround_enabled static variable
is now a member of struct gpio_bank.

Unlike most GPIO registers the OE has 0xffffffff as the default value.
To make sure invalid context is not restored, updating the OE context
with default value.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
drivers/gpio/gpio-omap.c