summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-01-21 19:03:00 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-02-03 18:38:13 +0100
commita6aecae29affdd1a84198afe45ef9e13ecbf9826 (patch)
treefc04096bc31ba7d27b5ab785a225ce46cb262d48 /drivers/mfd
parentMFD: mcp-sa11x0: convert to use dev_pm_ops (diff)
downloadlinux-a6aecae29affdd1a84198afe45ef9e13ecbf9826.tar.xz
linux-a6aecae29affdd1a84198afe45ef9e13ecbf9826.zip
MFD: mcp-sa11x0: use _noirq resume methods
The genirq code requires early access to interrupt controllers. In order to allow this, we need to resume the MCP via the _noirq methods instead of the standard methods. Acked-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/mcp-sa11x0.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mfd/mcp-sa11x0.c b/drivers/mfd/mcp-sa11x0.c
index 46167f676129..420710b19f2d 100644
--- a/drivers/mfd/mcp-sa11x0.c
+++ b/drivers/mfd/mcp-sa11x0.c
@@ -289,7 +289,14 @@ static int mcp_sa11x0_resume(struct device *dev)
#endif
static const struct dev_pm_ops mcp_sa11x0_pm_ops = {
- SET_SYSTEM_SLEEP_PM_OPS(mcp_sa11x0_suspend, mcp_sa11x0_resume)
+#ifdef CONFIG_PM_SLEEP
+ .suspend = mcp_sa11x0_suspend,
+ .freeze = mcp_sa11x0_suspend,
+ .poweroff = mcp_sa11x0_suspend,
+ .resume_noirq = mcp_sa11x0_resume,
+ .thaw_noirq = mcp_sa11x0_resume,
+ .restore_noirq = mcp_sa11x0_resume,
+#endif
};
static struct platform_driver mcp_sa11x0_driver = {