From: Russell King Date: Sat, 21 Jan 2012 09:34:30 +0000 (+0000) Subject: MFD: mcp-sa11x0: convert to use dev_pm_ops X-Git-Tag: v3.4-rc1~83^2^3~4^2~20 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2796e397373a15ece69267ed1bbb9f61435a3ac7;p=karo-tx-linux.git MFD: mcp-sa11x0: convert to use dev_pm_ops Convert the sa11x0 MCP driver to use dev_pm_ops rather than the legacy members in the platform driver. Acked-by: Jochen Friedrich Signed-off-by: Russell King --- diff --git a/drivers/mfd/mcp-sa11x0.c b/drivers/mfd/mcp-sa11x0.c index 4d06db72bb9c..46167f676129 100644 --- a/drivers/mfd/mcp-sa11x0.c +++ b/drivers/mfd/mcp-sa11x0.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -266,33 +267,38 @@ static int mcp_sa11x0_remove(struct platform_device *dev) return 0; } -static int mcp_sa11x0_suspend(struct platform_device *dev, pm_message_t state) +#ifdef CONFIG_PM_SLEEP +static int mcp_sa11x0_suspend(struct device *dev) { - struct mcp_sa11x0 *m = priv(platform_get_drvdata(dev)); + struct mcp_sa11x0 *m = priv(dev_get_drvdata(dev)); writel(m->mccr0 & ~MCCR0_MCE, MCCR0(m)); return 0; } -static int mcp_sa11x0_resume(struct platform_device *dev) +static int mcp_sa11x0_resume(struct device *dev) { - struct mcp_sa11x0 *m = priv(platform_get_drvdata(dev)); + struct mcp_sa11x0 *m = priv(dev_get_drvdata(dev)); writel_relaxed(m->mccr1, MCCR1(m)); writel_relaxed(m->mccr0, MCCR0(m)); return 0; } +#endif + +static const struct dev_pm_ops mcp_sa11x0_pm_ops = { + SET_SYSTEM_SLEEP_PM_OPS(mcp_sa11x0_suspend, mcp_sa11x0_resume) +}; static struct platform_driver mcp_sa11x0_driver = { .probe = mcp_sa11x0_probe, .remove = mcp_sa11x0_remove, - .suspend = mcp_sa11x0_suspend, - .resume = mcp_sa11x0_resume, .driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, + .pm = &mcp_sa11x0_pm_ops, }, };