aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTarun Kanti DebBarma <tarun.kanti@ti.com>2012-04-27 10:13:34 -0400
committerKevin Hilman <khilman@ti.com>2012-05-11 20:08:40 -0400
commit499fa2871d95049c12362c27075672e8af988eb6 (patch)
tree330bc3afb737a68937a6a87c1d604c9fd6564568 /drivers
parent0aa2727399c0b78225021413022c164cb99fbc5e (diff)
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpio/gpio-omap.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index c45bc16f000..8b6f1b9510e 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 saved_wakeup;
61 u32 non_wakeup_gpios; 60 u32 non_wakeup_gpios;
62 u32 enabled_non_wakeup_gpios; 61 u32 enabled_non_wakeup_gpios;
63 struct gpio_regs context; 62 struct gpio_regs context;
@@ -786,7 +785,6 @@ static int omap_mpuio_suspend_noirq(struct device *dev)
786 unsigned long flags; 785 unsigned long flags;
787 786
788 spin_lock_irqsave(&bank->lock, flags); 787 spin_lock_irqsave(&bank->lock, flags);
789 bank->saved_wakeup = __raw_readl(mask_reg);
790 __raw_writel(0xffff & ~bank->context.wake_en, mask_reg); 788 __raw_writel(0xffff & ~bank->context.wake_en, mask_reg);
791 spin_unlock_irqrestore(&bank->lock, flags); 789 spin_unlock_irqrestore(&bank->lock, flags);
792 790
@@ -802,7 +800,7 @@ static int omap_mpuio_resume_noirq(struct device *dev)
802 unsigned long flags; 800 unsigned long flags;
803 801
804 spin_lock_irqsave(&bank->lock, flags); 802 spin_lock_irqsave(&bank->lock, flags);
805 __raw_writel(bank->saved_wakeup, mask_reg); 803 __raw_writel(bank->context.wake_en, mask_reg);
806 spin_unlock_irqrestore(&bank->lock, flags); 804 spin_unlock_irqrestore(&bank->lock, flags);
807 805
808 return 0; 806 return 0;
@@ -1155,7 +1153,6 @@ static int omap_gpio_suspend(struct device *dev)
1155 struct platform_device *pdev = to_platform_device(dev); 1153 struct platform_device *pdev = to_platform_device(dev);
1156 struct gpio_bank *bank = platform_get_drvdata(pdev); 1154 struct gpio_bank *bank = platform_get_drvdata(pdev);
1157 void __iomem *base = bank->base; 1155 void __iomem *base = bank->base;
1158 void __iomem *wakeup_enable;
1159 unsigned long flags; 1156 unsigned long flags;
1160 1157
1161 if (!bank->mod_usage || !bank->loses_context) 1158 if (!bank->mod_usage || !bank->loses_context)
@@ -1164,10 +1161,7 @@ static int omap_gpio_suspend(struct device *dev)
1164 if (!bank->regs->wkup_en || !bank->context.wake_en) 1161 if (!bank->regs->wkup_en || !bank->context.wake_en)
1165 return 0; 1162 return 0;
1166 1163
1167 wakeup_enable = bank->base + bank->regs->wkup_en;
1168
1169 spin_lock_irqsave(&bank->lock, flags); 1164 spin_lock_irqsave(&bank->lock, flags);
1170 bank->saved_wakeup = __raw_readl(wakeup_enable);
1171 _gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0); 1165 _gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0);
1172 _gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1); 1166 _gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1);
1173 spin_unlock_irqrestore(&bank->lock, flags); 1167 spin_unlock_irqrestore(&bank->lock, flags);
@@ -1185,12 +1179,12 @@ static int omap_gpio_resume(struct device *dev)
1185 if (!bank->mod_usage || !bank->loses_context) 1179 if (!bank->mod_usage || !bank->loses_context)
1186 return 0; 1180 return 0;
1187 1181
1188 if (!bank->regs->wkup_en || !bank->saved_wakeup) 1182 if (!bank->regs->wkup_en || !bank->context.wake_en)
1189 return 0; 1183 return 0;
1190 1184
1191 spin_lock_irqsave(&bank->lock, flags); 1185 spin_lock_irqsave(&bank->lock, flags);
1192 _gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0); 1186 _gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0);
1193 _gpio_rmw(base, bank->regs->wkup_en, bank->saved_wakeup, 1); 1187 _gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1);
1194 spin_unlock_irqrestore(&bank->lock, flags); 1188 spin_unlock_irqrestore(&bank->lock, flags);
1195 1189
1196 return 0; 1190 return 0;