tpm_nsc: Use struct dev_pm_ops for power management
authorRafael J. Wysocki <rjw@sisk.pl>
Fri, 6 Jul 2012 17:09:28 +0000 (19:09 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Tue, 10 Jul 2012 19:37:18 +0000 (21:37 +0200)
Make the tpm_nsc driver define its PM callbacks through
a struct dev_pm_ops object rather than by using legacy PM hooks
in struct platform_driver.

This allows the driver to use tpm_pm_suspend() and tpm_pm_resume()
as its PM callbacks directly, without defining its own PM callback
routines.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/char/tpm/tpm_nsc.c

index 8e996575bdbee30d5e59fed0ba8af20c1eeced26..640c9a427b59b1f788a6541e4d81e88e9f9f9f42 100644 (file)
@@ -274,22 +274,13 @@ static void tpm_nsc_remove(struct device *dev)
        }
 }
 
-static int tpm_nsc_suspend(struct platform_device *dev, pm_message_t msg)
-{
-       return tpm_pm_suspend(&dev->dev);
-}
-
-static int tpm_nsc_resume(struct platform_device *dev)
-{
-       return tpm_pm_resume(&dev->dev);
-}
+static SIMPLE_DEV_PM_OPS(tpm_nsc_pm, tpm_pm_suspend, tpm_pm_resume);
 
 static struct platform_driver nsc_drv = {
-       .suspend         = tpm_nsc_suspend,
-       .resume          = tpm_nsc_resume,
        .driver          = {
                .name    = "tpm_nsc",
                .owner   = THIS_MODULE,
+               .pm      = &tpm_nsc_pm,
        },
 };