summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-06-27 23:27:25 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2012-07-01 13:31:02 +0200
commit4ce05b42603195386fa783c4f070ecc8682c189f (patch)
treeedc10f487e9cc23a5da8df64132aecbfa8fde840
parent43d2fd3b9d5be9be879179bec4f08c0c47d1ccd7 (diff)
downloadop-kernel-dev-4ce05b42603195386fa783c4f070ecc8682c189f.zip
op-kernel-dev-4ce05b42603195386fa783c4f070ecc8682c189f.tar.gz
hp_accel: Use struct dev_pm_ops for power management
Make the hp_accel driver define its PM callbacks through a struct dev_pm_ops object rather than by using legacy PM hooks in struct acpi_device_ops. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Reviewed-by: Éric Piel <eric.piel@tremplin-utc.net>
-rw-r--r--drivers/platform/x86/hp_accel.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/platform/x86/hp_accel.c b/drivers/platform/x86/hp_accel.c
index c9e0520..f4d9115 100644
--- a/drivers/platform/x86/hp_accel.c
+++ b/drivers/platform/x86/hp_accel.c
@@ -353,20 +353,22 @@ static int lis3lv02d_remove(struct acpi_device *device, int type)
#ifdef CONFIG_PM
-static int lis3lv02d_suspend(struct acpi_device *device)
+static int lis3lv02d_suspend(struct device *dev)
{
/* make sure the device is off when we suspend */
lis3lv02d_poweroff(&lis3_dev);
return 0;
}
-static int lis3lv02d_resume(struct acpi_device *device)
+static int lis3lv02d_resume(struct device *dev)
{
return lis3lv02d_poweron(&lis3_dev);
}
+
+static SIMPLE_DEV_PM_OPS(hp_accel_pm, lis3lv02d_suspend, lis3lv02d_resume);
+#define HP_ACCEL_PM (&hp_accel_pm)
#else
-#define lis3lv02d_suspend NULL
-#define lis3lv02d_resume NULL
+#define HP_ACCEL_PM NULL
#endif
/* For the HP MDPS aka 3D Driveguard */
@@ -377,9 +379,8 @@ static struct acpi_driver lis3lv02d_driver = {
.ops = {
.add = lis3lv02d_add,
.remove = lis3lv02d_remove,
- .suspend = lis3lv02d_suspend,
- .resume = lis3lv02d_resume,
- }
+ },
+ .drv.pm = HP_ACCEL_PM,
};
static int __init lis3lv02d_init_module(void)
OpenPOWER on IntegriCloud