tpm_atmel: Use struct dev_pm_ops for power management
authorRafael J. Wysocki <rjw@sisk.pl>
Fri, 6 Jul 2012 17:09:13 +0000 (19:09 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Tue, 10 Jul 2012 19:37:02 +0000 (21:37 +0200)
Make the tpm_atmel 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_atmel.c

index 8244d87f86aac8a2c9adc726d1344cfa22b2fe21..678d57019dc46990d4433afbc1637ff2f9208919 100644 (file)
@@ -168,22 +168,14 @@ static void atml_plat_remove(void)
        }
 }
 
-static int tpm_atml_suspend(struct platform_device *dev, pm_message_t msg)
-{
-       return tpm_pm_suspend(&dev->dev);
-}
+static SIMPLE_DEV_PM_OPS(tpm_atml_pm, tpm_pm_suspend, tpm_pm_resume);
 
-static int tpm_atml_resume(struct platform_device *dev)
-{
-       return tpm_pm_resume(&dev->dev);
-}
 static struct platform_driver atml_drv = {
        .driver = {
                .name = "tpm_atmel",
                .owner          = THIS_MODULE,
+               .pm             = &tpm_atml_pm,
        },
-       .suspend = tpm_atml_suspend,
-       .resume = tpm_atml_resume,
 };
 
 static int __init init_atmel(void)