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: Tarun Kanti DebBarma <tarun.kanti@ti.com> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Felipe Balbi <balbi@ti.com> Tested-by: Govindraj.R <govindraj.raja@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
parent
0aa2727399
commit
499fa2871d
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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;
|
||||||
|
|
Reference in New Issue