提交 499fa287 编写于 作者: T Tarun Kanti DebBarma 提交者: Kevin Hilman

gpio/omap: remove saved_wakeup field from struct gpio_bank

There is no more need to have saved_wakeup because bank->context.wake_en
already holds that value. So getting rid of read/write operation associated
with this field.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: NTarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: NFelipe Balbi <balbi@ti.com>
Tested-by: NGovindraj.R <govindraj.raja@ti.com>
Signed-off-by: NKevin Hilman <khilman@ti.com>
上级 0aa27273
...@@ -57,7 +57,6 @@ struct gpio_bank { ...@@ -57,7 +57,6 @@ struct gpio_bank {
u16 irq; u16 irq;
int irq_base; int irq_base;
struct irq_domain *domain; struct irq_domain *domain;
u32 saved_wakeup;
u32 non_wakeup_gpios; u32 non_wakeup_gpios;
u32 enabled_non_wakeup_gpios; u32 enabled_non_wakeup_gpios;
struct gpio_regs context; struct gpio_regs context;
...@@ -786,7 +785,6 @@ static int omap_mpuio_suspend_noirq(struct device *dev) ...@@ -786,7 +785,6 @@ static int omap_mpuio_suspend_noirq(struct device *dev)
unsigned long flags; unsigned long flags;
spin_lock_irqsave(&bank->lock, flags); spin_lock_irqsave(&bank->lock, flags);
bank->saved_wakeup = __raw_readl(mask_reg);
__raw_writel(0xffff & ~bank->context.wake_en, mask_reg); __raw_writel(0xffff & ~bank->context.wake_en, mask_reg);
spin_unlock_irqrestore(&bank->lock, flags); spin_unlock_irqrestore(&bank->lock, flags);
...@@ -802,7 +800,7 @@ static int omap_mpuio_resume_noirq(struct device *dev) ...@@ -802,7 +800,7 @@ static int omap_mpuio_resume_noirq(struct device *dev)
unsigned long flags; unsigned long flags;
spin_lock_irqsave(&bank->lock, 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); spin_unlock_irqrestore(&bank->lock, flags);
return 0; return 0;
...@@ -1155,7 +1153,6 @@ static int omap_gpio_suspend(struct device *dev) ...@@ -1155,7 +1153,6 @@ static int omap_gpio_suspend(struct device *dev)
struct platform_device *pdev = to_platform_device(dev); struct platform_device *pdev = to_platform_device(dev);
struct gpio_bank *bank = platform_get_drvdata(pdev); struct gpio_bank *bank = platform_get_drvdata(pdev);
void __iomem *base = bank->base; void __iomem *base = bank->base;
void __iomem *wakeup_enable;
unsigned long flags; unsigned long flags;
if (!bank->mod_usage || !bank->loses_context) if (!bank->mod_usage || !bank->loses_context)
...@@ -1164,10 +1161,7 @@ static int omap_gpio_suspend(struct device *dev) ...@@ -1164,10 +1161,7 @@ static int omap_gpio_suspend(struct device *dev)
if (!bank->regs->wkup_en || !bank->context.wake_en) if (!bank->regs->wkup_en || !bank->context.wake_en)
return 0; return 0;
wakeup_enable = bank->base + bank->regs->wkup_en;
spin_lock_irqsave(&bank->lock, flags); 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, 0xffffffff, 0);
_gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1); _gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1);
spin_unlock_irqrestore(&bank->lock, flags); spin_unlock_irqrestore(&bank->lock, flags);
...@@ -1185,12 +1179,12 @@ static int omap_gpio_resume(struct device *dev) ...@@ -1185,12 +1179,12 @@ static int omap_gpio_resume(struct device *dev)
if (!bank->mod_usage || !bank->loses_context) if (!bank->mod_usage || !bank->loses_context)
return 0; return 0;
if (!bank->regs->wkup_en || !bank->saved_wakeup) if (!bank->regs->wkup_en || !bank->context.wake_en)
return 0; return 0;
spin_lock_irqsave(&bank->lock, flags); spin_lock_irqsave(&bank->lock, flags);
_gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0); _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); spin_unlock_irqrestore(&bank->lock, flags);
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册