aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-omap.c
diff options
context:
space:
mode:
authorDan Murphy <dmurphy@ti.com>2011-11-14 09:24:00 -0600
committerZiyann <jaraidaniel@gmail.com>2014-10-01 12:55:44 +0200
commitb0a25502d21caabcacdb47261d6bc71db52c5795 (patch)
tree22ca776655b7d9e68b2dbbd38899d9ef97e0dffb /drivers/gpio/gpio-omap.c
parent10bd3f151c5051903431a9beaf1eb52a6afd8a18 (diff)
downloadkernel_samsung_tuna-b0a25502d21caabcacdb47261d6bc71db52c5795.zip
kernel_samsung_tuna-b0a25502d21caabcacdb47261d6bc71db52c5795.tar.gz
kernel_samsung_tuna-b0a25502d21caabcacdb47261d6bc71db52c5795.tar.bz2
ARM: OMAP4: Add put/get sync clocks in setwakeenable
Need to add the clock calls to the setwakeupenable GPIO functions as on 4430 when going to idle the IRQ enable register is trying to be accessed with clocks off causing a kernel panic. Change-Id: Ia01ea21ff8674a4f48263addfc3bcc7b8475f17c Signed-off-by: Dan Murphy <dmurphy@ti.com>
Diffstat (limited to 'drivers/gpio/gpio-omap.c')
-rw-r--r--drivers/gpio/gpio-omap.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index 561cb4f..484e7a8 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1319,6 +1319,12 @@ static void omap2_gpio_set_wakeupenables(struct gpio_bank *bank)
bank->context.pad_set_wakeupenable = 0;
+ if (pm_runtime_get_sync(bank->dev) < 0) {
+ dev_err(bank->dev, "%s: GPIO bank %d pm_runtime_get_sync "
+ "failed\n", __func__, bank->id);
+ return;
+ }
+
pad_wakeup = __raw_readl(bank->base + bank->regs->irqenable);
/*
@@ -1340,6 +1346,12 @@ static void omap2_gpio_set_wakeupenables(struct gpio_bank *bank)
omap_mux_set_wakeupenable(bank->mux[i]);
}
}
+
+ if (pm_runtime_put_sync_suspend(bank->dev) < 0) {
+ dev_err(bank->dev, "%s: GPIO bank %d pm_runtime_put_sync "
+ "failed\n", __func__, bank->id);
+ return;
+ }
}
static void omap2_gpio_clear_wakeupenables(struct gpio_bank *bank)