|
@@ -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;
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -1162,7 +1161,7 @@ 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;
|
|
@@ -1170,7 +1169,7 @@ static int omap_gpio_suspend(struct device *dev)
|
|
|
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;
|