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>
This commit is contained in:
Rafael J. Wysocki 2012-06-27 23:27:25 +02:00
parent 43d2fd3b9d
commit 4ce05b4260

View file

@ -353,20 +353,22 @@ static int lis3lv02d_remove(struct acpi_device *device, int type)
#ifdef CONFIG_PM #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 */ /* make sure the device is off when we suspend */
lis3lv02d_poweroff(&lis3_dev); lis3lv02d_poweroff(&lis3_dev);
return 0; return 0;
} }
static int lis3lv02d_resume(struct acpi_device *device) static int lis3lv02d_resume(struct device *dev)
{ {
return lis3lv02d_poweron(&lis3_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 #else
#define lis3lv02d_suspend NULL #define HP_ACCEL_PM NULL
#define lis3lv02d_resume NULL
#endif #endif
/* For the HP MDPS aka 3D Driveguard */ /* For the HP MDPS aka 3D Driveguard */
@ -377,9 +379,8 @@ static struct acpi_driver lis3lv02d_driver = {
.ops = { .ops = {
.add = lis3lv02d_add, .add = lis3lv02d_add,
.remove = lis3lv02d_remove, .remove = lis3lv02d_remove,
.suspend = lis3lv02d_suspend, },
.resume = lis3lv02d_resume, .drv.pm = HP_ACCEL_PM,
}
}; };
static int __init lis3lv02d_init_module(void) static int __init lis3lv02d_init_module(void)