aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-omap.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index 9b71f04538a..c4ed1722734 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1157,9 +1157,6 @@ static int omap_gpio_runtime_suspend(struct device *dev)
1157 1157
1158 spin_lock_irqsave(&bank->lock, flags); 1158 spin_lock_irqsave(&bank->lock, flags);
1159 1159
1160 if (!bank->enabled_non_wakeup_gpios)
1161 goto update_gpio_context_count;
1162
1163 /* 1160 /*
1164 * Only edges can generate a wakeup event to the PRCM. 1161 * Only edges can generate a wakeup event to the PRCM.
1165 * 1162 *
@@ -1180,6 +1177,9 @@ static int omap_gpio_runtime_suspend(struct device *dev)
1180 __raw_writel(wake_hi | bank->context.risingdetect, 1177 __raw_writel(wake_hi | bank->context.risingdetect,
1181 bank->base + bank->regs->risingdetect); 1178 bank->base + bank->regs->risingdetect);
1182 1179
1180 if (!bank->enabled_non_wakeup_gpios)
1181 goto update_gpio_context_count;
1182
1183 if (bank->power_mode != OFF_MODE) { 1183 if (bank->power_mode != OFF_MODE) {
1184 bank->power_mode = 0; 1184 bank->power_mode = 0;
1185 goto update_gpio_context_count; 1185 goto update_gpio_context_count;
@@ -1238,8 +1238,7 @@ static int omap_gpio_runtime_resume(struct device *dev)
1238 if (bank->get_context_loss_count) { 1238 if (bank->get_context_loss_count) {
1239 context_lost_cnt_after = 1239 context_lost_cnt_after =
1240 bank->get_context_loss_count(bank->dev); 1240 bank->get_context_loss_count(bank->dev);
1241 if (context_lost_cnt_after != bank->context_loss_count || 1241 if (context_lost_cnt_after != bank->context_loss_count) {
1242 !context_lost_cnt_after) {
1243 omap_gpio_restore_context(bank); 1242 omap_gpio_restore_context(bank);
1244 } else { 1243 } else {
1245 spin_unlock_irqrestore(&bank->lock, flags); 1244 spin_unlock_irqrestore(&bank->lock, flags);