summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-pl061.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@st.com>2012-01-11 10:55:20 +0100
committerGrant Likely <grant.likely@secretlab.ca>2012-02-16 14:37:51 +0100
commit6e33aceda2d82126e9d08a39e21a15be0dd00a6c (patch)
tree4ee9e2c3af2307ea4541aaedb794e5b195a6fd03 /drivers/gpio/gpio-pl061.c
parentFix circular locking dependency (3.3-rc2) (diff)
downloadlinux-6e33aceda2d82126e9d08a39e21a15be0dd00a6c.tar.xz
linux-6e33aceda2d82126e9d08a39e21a15be0dd00a6c.zip
gpio/gpio-pl061: No need of thaw and poweroff routines for hibernate
pl061 uses same routines for suspend/freeze/poweroff and resume/thaw/restore. We are only saving and restoring register values on these routines. During hibernation, in freeze() we take a snapshot of gpio registers. In thaw() we don't actually need to restore these registers, as power was never shut down till now. Similarly, in poweroff() we don't need to take snapshot of these registers again, as it was done during freeze() and by now the image is already saved on disk. This patch passes poweroff() and thaw() routines as NULL to avoid this extra work done. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/gpio/gpio-pl061.c')
-rw-r--r--drivers/gpio/gpio-pl061.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-pl061.c b/drivers/gpio/gpio-pl061.c
index 77c9cc70fa77..b4b5da4fd2cc 100644
--- a/drivers/gpio/gpio-pl061.c
+++ b/drivers/gpio/gpio-pl061.c
@@ -352,7 +352,12 @@ static int pl061_resume(struct device *dev)
return 0;
}
-static SIMPLE_DEV_PM_OPS(pl061_dev_pm_ops, pl061_suspend, pl061_resume);
+static const struct dev_pm_ops pl061_dev_pm_ops = {
+ .suspend = pl061_suspend,
+ .resume = pl061_resume,
+ .freeze = pl061_suspend,
+ .restore = pl061_resume,
+};
#endif
static struct amba_id pl061_ids[] = {