diff options
author | Tarun Kanti DebBarma <tarun.kanti@ti.com> | 2012-04-27 10:13:34 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2012-05-11 20:08:40 -0400 |
commit | 499fa2871d95049c12362c27075672e8af988eb6 (patch) | |
tree | 330bc3afb737a68937a6a87c1d604c9fd6564568 /drivers/gpio | |
parent | 0aa2727399c0b78225021413022c164cb99fbc5e (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/gpio')
-rw-r--r-- | drivers/gpio/gpio-omap.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index c45bc16f0003..8b6f1b9510eb 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; |