diff options
author | Dan Murphy <dmurphy@ti.com> | 2011-11-14 09:24:00 -0600 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 12:55:44 +0200 |
commit | b0a25502d21caabcacdb47261d6bc71db52c5795 (patch) | |
tree | 22ca776655b7d9e68b2dbbd38899d9ef97e0dffb /drivers/gpio/gpio-omap.c | |
parent | 10bd3f151c5051903431a9beaf1eb52a6afd8a18 (diff) | |
download | kernel_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.c | 12 |
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) |