diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2012-05-18 18:50:01 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-05-18 18:50:01 -0400 |
commit | adf11b62f3ef59b72f280df44f129e36091b242f (patch) | |
tree | a9165d05b06db4bdaa2402f6cd469195ff693119 /drivers/gpio | |
parent | d6de85e85edcc38c9edcde45a0a568818fcddc13 (diff) | |
parent | b3c64bc30af67ed328a8d919e41160942b870451 (diff) |
Merge branch 'for_3.5/fixes/gpio-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into gpio/next
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-omap.c | 9 |
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); |