From 0a1a11c282a4579c4da777db7c54be45fb8d551c Mon Sep 17 00:00:00 2001 From: Russell King Date: Tue, 24 Jan 2012 23:29:47 +0000 Subject: [PATCH] --- yaml --- r: 296284 b: refs/heads/master c: 51f93390c21a4154b0520c3a8a34733e4072a7db h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-sa1100/neponset.c | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index c82860132045..106c54178f78 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d2e539a5ebd6b204037deb44c416a9e20b5d2354 +refs/heads/master: 51f93390c21a4154b0520c3a8a34733e4072a7db diff --git a/trunk/arch/arm/mach-sa1100/neponset.c b/trunk/arch/arm/mach-sa1100/neponset.c index 2451a38aa2f0..59223baa7c1d 100644 --- a/trunk/arch/arm/mach-sa1100/neponset.c +++ b/trunk/arch/arm/mach-sa1100/neponset.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -303,10 +304,10 @@ static int __devexit neponset_remove(struct platform_device *dev) return 0; } -#ifdef CONFIG_PM -static int neponset_suspend(struct platform_device *dev, pm_message_t state) +#ifdef CONFIG_PM_SLEEP +static int neponset_suspend(struct device *dev) { - struct neponset_drvdata *d = platform_get_drvdata(dev); + struct neponset_drvdata *d = dev_get_drvdata(dev); d->ncr0 = NCR_0; d->mdm_ctl_0 = MDM_CTL_0; @@ -314,9 +315,9 @@ static int neponset_suspend(struct platform_device *dev, pm_message_t state) return 0; } -static int neponset_resume(struct platform_device *dev) +static int neponset_resume(struct device *dev) { - struct neponset_drvdata *d = platform_get_drvdata(dev); + struct neponset_drvdata *d = dev_get_drvdata(dev); NCR_0 = d->ncr0; MDM_CTL_0 = d->mdm_ctl_0; @@ -324,19 +325,24 @@ static int neponset_resume(struct platform_device *dev) return 0; } +static const struct dev_pm_ops neponset_pm_ops = { + .suspend_noirq = neponset_suspend, + .resume_noirq = neponset_resume, + .freeze_noirq = neponset_suspend, + .restore_noirq = neponset_resume, +}; +#define PM_OPS &neponset_pm_ops #else -#define neponset_suspend NULL -#define neponset_resume NULL +#define PM_OPS NULL #endif static struct platform_driver neponset_device_driver = { .probe = neponset_probe, .remove = __devexit_p(neponset_remove), - .suspend = neponset_suspend, - .resume = neponset_resume, .driver = { .name = "neponset", .owner = THIS_MODULE, + .pm = PM_OPS, }, };