Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 307676
b: refs/heads/master
c: 0aa2727
h: refs/heads/master
v: v3
  • Loading branch information
Tarun Kanti DebBarma authored and Kevin Hilman committed May 12, 2012
1 parent 4b68485 commit c5d959b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c6f31c9ec264233cb6a28053a1739425b18fd581
refs/heads/master: 0aa2727399c0b78225021413022c164cb99fbc5e
13 changes: 6 additions & 7 deletions trunk/drivers/gpio/gpio-omap.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ struct gpio_bank {
u16 irq;
int irq_base;
struct irq_domain *domain;
u32 suspend_wakeup;
u32 saved_wakeup;
u32 non_wakeup_gpios;
u32 enabled_non_wakeup_gpios;
Expand Down Expand Up @@ -514,11 +513,11 @@ static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable)

spin_lock_irqsave(&bank->lock, flags);
if (enable)
bank->suspend_wakeup |= gpio_bit;
bank->context.wake_en |= gpio_bit;
else
bank->suspend_wakeup &= ~gpio_bit;
bank->context.wake_en &= ~gpio_bit;

__raw_writel(bank->suspend_wakeup, bank->base + bank->regs->wkup_en);
__raw_writel(bank->context.wake_en, bank->base + bank->regs->wkup_en);
spin_unlock_irqrestore(&bank->lock, flags);

return 0;
Expand Down Expand Up @@ -788,7 +787,7 @@ static int omap_mpuio_suspend_noirq(struct device *dev)

spin_lock_irqsave(&bank->lock, flags);
bank->saved_wakeup = __raw_readl(mask_reg);
__raw_writel(0xffff & ~bank->suspend_wakeup, mask_reg);
__raw_writel(0xffff & ~bank->context.wake_en, mask_reg);
spin_unlock_irqrestore(&bank->lock, flags);

return 0;
Expand Down Expand Up @@ -1162,15 +1161,15 @@ static int omap_gpio_suspend(struct device *dev)
if (!bank->mod_usage || !bank->loses_context)
return 0;

if (!bank->regs->wkup_en || !bank->suspend_wakeup)
if (!bank->regs->wkup_en || !bank->context.wake_en)
return 0;

wakeup_enable = bank->base + bank->regs->wkup_en;

spin_lock_irqsave(&bank->lock, flags);
bank->saved_wakeup = __raw_readl(wakeup_enable);
_gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0);
_gpio_rmw(base, bank->regs->wkup_en, bank->suspend_wakeup, 1);
_gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1);
spin_unlock_irqrestore(&bank->lock, flags);

return 0;
Expand Down

0 comments on commit c5d959b

Please sign in to comment.