Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 307677
b: refs/heads/master
c: 499fa28
h: refs/heads/master
i:
  307675: 4b68485
v: v3
  • Loading branch information
Tarun Kanti DebBarma authored and Kevin Hilman committed May 12, 2012
1 parent c5d959b commit 074c93f
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 10 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: 0aa2727399c0b78225021413022c164cb99fbc5e
refs/heads/master: 499fa2871d95049c12362c27075672e8af988eb6
12 changes: 3 additions & 9 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 saved_wakeup;
u32 non_wakeup_gpios;
u32 enabled_non_wakeup_gpios;
struct gpio_regs context;
Expand Down Expand Up @@ -786,7 +785,6 @@ static int omap_mpuio_suspend_noirq(struct device *dev)
unsigned long flags;

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

Expand All @@ -802,7 +800,7 @@ static int omap_mpuio_resume_noirq(struct device *dev)
unsigned long flags;

spin_lock_irqsave(&bank->lock, flags);
__raw_writel(bank->saved_wakeup, mask_reg);
__raw_writel(bank->context.wake_en, mask_reg);
spin_unlock_irqrestore(&bank->lock, flags);

return 0;
Expand Down Expand Up @@ -1155,7 +1153,6 @@ static int omap_gpio_suspend(struct device *dev)
struct platform_device *pdev = to_platform_device(dev);
struct gpio_bank *bank = platform_get_drvdata(pdev);
void __iomem *base = bank->base;
void __iomem *wakeup_enable;
unsigned long flags;

if (!bank->mod_usage || !bank->loses_context)
Expand All @@ -1164,10 +1161,7 @@ static int omap_gpio_suspend(struct device *dev)
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->context.wake_en, 1);
spin_unlock_irqrestore(&bank->lock, flags);
Expand All @@ -1185,12 +1179,12 @@ static int omap_gpio_resume(struct device *dev)
if (!bank->mod_usage || !bank->loses_context)
return 0;

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

spin_lock_irqsave(&bank->lock, flags);
_gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0);
_gpio_rmw(base, bank->regs->wkup_en, bank->saved_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 074c93f

Please sign in to comment.