diff options
| -rw-r--r-- | drivers/gpio/gpio-omap.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index 7d47c6e76d74..c45bc16f0003 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c | |||
| @@ -57,7 +57,6 @@ struct gpio_bank { | |||
| 57 | u16 irq; | 57 | u16 irq; |
| 58 | int irq_base; | 58 | int irq_base; |
| 59 | struct irq_domain *domain; | 59 | struct irq_domain *domain; |
| 60 | u32 suspend_wakeup; | ||
| 61 | u32 saved_wakeup; | 60 | u32 saved_wakeup; |
| 62 | u32 non_wakeup_gpios; | 61 | u32 non_wakeup_gpios; |
| 63 | u32 enabled_non_wakeup_gpios; | 62 | u32 enabled_non_wakeup_gpios; |
| @@ -514,11 +513,11 @@ static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable) | |||
| 514 | 513 | ||
| 515 | spin_lock_irqsave(&bank->lock, flags); | 514 | spin_lock_irqsave(&bank->lock, flags); |
| 516 | if (enable) | 515 | if (enable) |
| 517 | bank->suspend_wakeup |= gpio_bit; | 516 | bank->context.wake_en |= gpio_bit; |
| 518 | else | 517 | else |
| 519 | bank->suspend_wakeup &= ~gpio_bit; | 518 | bank->context.wake_en &= ~gpio_bit; |
| 520 | 519 | ||
| 521 | __raw_writel(bank->suspend_wakeup, bank->base + bank->regs->wkup_en); | 520 | __raw_writel(bank->context.wake_en, bank->base + bank->regs->wkup_en); |
| 522 | spin_unlock_irqrestore(&bank->lock, flags); | 521 | spin_unlock_irqrestore(&bank->lock, flags); |
| 523 | 522 | ||
| 524 | return 0; | 523 | return 0; |
| @@ -788,7 +787,7 @@ static int omap_mpuio_suspend_noirq(struct device *dev) | |||
| 788 | 787 | ||
| 789 | spin_lock_irqsave(&bank->lock, flags); | 788 | spin_lock_irqsave(&bank->lock, flags); |
| 790 | bank->saved_wakeup = __raw_readl(mask_reg); | 789 | bank->saved_wakeup = __raw_readl(mask_reg); |
| 791 | __raw_writel(0xffff & ~bank->suspend_wakeup, mask_reg); | 790 | __raw_writel(0xffff & ~bank->context.wake_en, mask_reg); |
| 792 | spin_unlock_irqrestore(&bank->lock, flags); | 791 | spin_unlock_irqrestore(&bank->lock, flags); |
| 793 | 792 | ||
| 794 | return 0; | 793 | return 0; |
| @@ -1162,7 +1161,7 @@ static int omap_gpio_suspend(struct device *dev) | |||
| 1162 | if (!bank->mod_usage || !bank->loses_context) | 1161 | if (!bank->mod_usage || !bank->loses_context) |
| 1163 | return 0; | 1162 | return 0; |
| 1164 | 1163 | ||
| 1165 | if (!bank->regs->wkup_en || !bank->suspend_wakeup) | 1164 | if (!bank->regs->wkup_en || !bank->context.wake_en) |
| 1166 | return 0; | 1165 | return 0; |
| 1167 | 1166 | ||
| 1168 | wakeup_enable = bank->base + bank->regs->wkup_en; | 1167 | wakeup_enable = bank->base + bank->regs->wkup_en; |
| @@ -1170,7 +1169,7 @@ static int omap_gpio_suspend(struct device *dev) | |||
| 1170 | spin_lock_irqsave(&bank->lock, flags); | 1169 | spin_lock_irqsave(&bank->lock, flags); |
| 1171 | bank->saved_wakeup = __raw_readl(wakeup_enable); | 1170 | bank->saved_wakeup = __raw_readl(wakeup_enable); |
| 1172 | _gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0); | 1171 | _gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0); |
| 1173 | _gpio_rmw(base, bank->regs->wkup_en, bank->suspend_wakeup, 1); | 1172 | _gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1); |
| 1174 | spin_unlock_irqrestore(&bank->lock, flags); | 1173 | spin_unlock_irqrestore(&bank->lock, flags); |
| 1175 | 1174 | ||
| 1176 | return 0; | 1175 | return 0; |
