aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2011-08-08 20:54:36 -0500
committerNishanth Menon <nm@ti.com>2011-08-29 19:35:17 -0500
commite83028038dca8540df0c6044cc0002222fba6544 (patch)
treee8484eab921f0051af42fd527eda1f2fa14328dc /drivers/gpio
parent0c2491311aa4a79cd65de0a4da06da99507b60e2 (diff)
downloadkernel_samsung_tuna-e83028038dca8540df0c6044cc0002222fba6544.zip
kernel_samsung_tuna-e83028038dca8540df0c6044cc0002222fba6544.tar.gz
kernel_samsung_tuna-e83028038dca8540df0c6044cc0002222fba6544.tar.bz2
GPIO: OMAP: restore OE only after setting the output level
Setup the dataout register before setting the GPIO to output mode in restore path. Change-Id: I0d3ecd9eda97a466e73e1cd2e16b7b54be3c2139 Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-omap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index 5dd380d..fbf9727 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1448,7 +1448,6 @@ void omap_gpio_restore_context(struct gpio_bank *bank)
__raw_writel(bank->context.wake_en,
bank->base + bank->regs->wkup_set);
__raw_writel(bank->context.ctrl, bank->base + bank->regs->ctrl);
- __raw_writel(bank->context.oe, bank->base + bank->regs->direction);
__raw_writel(bank->context.leveldetect0,
bank->base + bank->regs->leveldetect0);
__raw_writel(bank->context.leveldetect1,
@@ -1463,6 +1462,7 @@ void omap_gpio_restore_context(struct gpio_bank *bank)
else
__raw_writel(bank->context.dataout,
bank->base + bank->regs->dataout);
+ __raw_writel(bank->context.oe, bank->base + bank->regs->direction);
if (bank->dbck_enable_mask) {
__raw_writel(bank->context.debounce, bank->base +
bank->regs->debounce);