aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2013-03-10 09:34:05 -0400
committerAnton Vorontsov <anton@enomsg.org>2013-04-01 02:01:10 -0400
commitcc6616f6902fe96287585664cbad082d0c431206 (patch)
tree7feb2942203015bc1342b8c7e2beb7804f23fa35 /drivers/power
parent075ed03ce6c2cd148b4606619e775c6e46aa89e1 (diff)
ds2782_battery: Use dev_pm_ops
Use dev_pm_ops instead of the deprecated legacy suspend/resume callbacks. Cc: Evgeny Romanov <romanov@neurosoft.ru> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/ds2782_battery.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/power/ds2782_battery.c b/drivers/power/ds2782_battery.c
index c09e7726c96c..563174891c90 100644
--- a/drivers/power/ds2782_battery.c
+++ b/drivers/power/ds2782_battery.c
@@ -332,32 +332,32 @@ static int ds278x_battery_remove(struct i2c_client *client)
332 return 0; 332 return 0;
333} 333}
334 334
335#ifdef CONFIG_PM 335#ifdef CONFIG_PM_SLEEP
336 336
337static int ds278x_suspend(struct i2c_client *client, 337static int ds278x_suspend(struct device *dev)
338 pm_message_t state)
339{ 338{
339 struct i2c_client *client = to_i2c_client(dev);
340 struct ds278x_info *info = i2c_get_clientdata(client); 340 struct ds278x_info *info = i2c_get_clientdata(client);
341 341
342 cancel_delayed_work(&info->bat_work); 342 cancel_delayed_work(&info->bat_work);
343 return 0; 343 return 0;
344} 344}
345 345
346static int ds278x_resume(struct i2c_client *client) 346static int ds278x_resume(struct device *dev)
347{ 347{
348 struct i2c_client *client = to_i2c_client(dev);
348 struct ds278x_info *info = i2c_get_clientdata(client); 349 struct ds278x_info *info = i2c_get_clientdata(client);
349 350
350 schedule_delayed_work(&info->bat_work, DS278x_DELAY); 351 schedule_delayed_work(&info->bat_work, DS278x_DELAY);
351 return 0; 352 return 0;
352} 353}
353 354
354#else 355static SIMPLE_DEV_PM_OPS(ds278x_battery_pm_ops, ds278x_suspend, ds278x_resume);
355 356#define DS278X_BATTERY_PM_OPS (&ds278x_battery_pm_ops)
356#define ds278x_suspend NULL
357#define ds278x_resume NULL
358
359#endif /* CONFIG_PM */
360 357
358#else
359#define DS278X_BATTERY_PM_OPS NULL
360#endif /* CONFIG_PM_SLEEP */
361 361
362enum ds278x_num_id { 362enum ds278x_num_id {
363 DS2782 = 0, 363 DS2782 = 0,
@@ -460,11 +460,10 @@ MODULE_DEVICE_TABLE(i2c, ds278x_id);
460static struct i2c_driver ds278x_battery_driver = { 460static struct i2c_driver ds278x_battery_driver = {
461 .driver = { 461 .driver = {
462 .name = "ds2782-battery", 462 .name = "ds2782-battery",
463 .pm = DS278X_BATTERY_PM_OPS,
463 }, 464 },
464 .probe = ds278x_battery_probe, 465 .probe = ds278x_battery_probe,
465 .remove = ds278x_battery_remove, 466 .remove = ds278x_battery_remove,
466 .suspend = ds278x_suspend,
467 .resume = ds278x_resume,
468 .id_table = ds278x_id, 467 .id_table = ds278x_id,
469}; 468};
470module_i2c_driver(ds278x_battery_driver); 469module_i2c_driver(ds278x_battery_driver);