diff options
author | Pritesh Raithatha <praithatha@nvidia.com> | 2011-09-06 21:23:17 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:14 -0800 |
commit | f8b65fb54494b360a3263cc4176a7f1f47277c45 (patch) | |
tree | 5c4d6c860245525f65649cce24a54a7836438143 /drivers/power | |
parent | 9f73e31d9373ffb3dff5f19c6f43badbe658392c (diff) |
power: bq27x00: remove legacy suspend/resume method
-Add dev_pm_ops and pass it to i2c_driver's pm.
-Removes following warnings:
i2c-core: driver [bq27x00-battery] using legacy suspend method
i2c-core: driver [bq27x00-battery] using legacy resume method
Bug 872590
Change-Id: I395b7010995c41c22ff66386bb1f358aca4736c0
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-on: http://git-master/r/50859
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Gerrit_Virtual_Submit
Rebase-Id: Recd57e8235a638d2a9fa8e716debac86921fef02
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/bq27x00_battery.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/drivers/power/bq27x00_battery.c b/drivers/power/bq27x00_battery.c index 355fb2b673dc..8450087a17c8 100644 --- a/drivers/power/bq27x00_battery.c +++ b/drivers/power/bq27x00_battery.c @@ -875,11 +875,11 @@ static int bq27x00_battery_remove(struct i2c_client *client) } #ifdef CONFIG_PM -static int bq27x00_battery_suspend(struct i2c_client *client, - pm_message_t state) +static int bq27x00_battery_suspend(struct device *dev) { int ret; - struct bq27x00_device_info *di = i2c_get_clientdata(client); + struct platform_device *pdev = to_platform_device(dev); + struct bq27x00_device_info *di = platform_get_drvdata(pdev); if (di->chip == BQ27510) { ret = bq27x00_write(di, BQ27510_CNTL, @@ -897,10 +897,11 @@ static int bq27x00_battery_suspend(struct i2c_client *client, return 0; } -static int bq27x00_battery_resume(struct i2c_client *client) +static int bq27x00_battery_resume(struct device *dev) { int ret; - struct bq27x00_device_info *di = i2c_get_clientdata(client); + struct platform_device *pdev = to_platform_device(dev); + struct bq27x00_device_info *di = platform_get_drvdata(pdev); if (di->chip == BQ27510) { ret = bq27x00_write(di, BQ27510_CNTL, @@ -917,6 +918,12 @@ static int bq27x00_battery_resume(struct i2c_client *client) } return 0; } + +static const struct dev_pm_ops bq27x00_battery_pm_ops = { + .suspend = bq27x00_battery_suspend, + .resume = bq27x00_battery_resume, +}; + #endif static const struct i2c_device_id bq27x00_id[] = { @@ -930,13 +937,12 @@ MODULE_DEVICE_TABLE(i2c, bq27x00_id); static struct i2c_driver bq27x00_battery_driver = { .probe = bq27x00_battery_probe, .remove = bq27x00_battery_remove, -#if defined(CONFIG_PM) - .suspend = bq27x00_battery_suspend, - .resume = bq27x00_battery_resume, -#endif .id_table = bq27x00_id, .driver = { .name = "bq27x00-battery", +#if defined(CONFIG_PM) + .pm = &bq27x00_battery_pm_ops, +#endif }, }; |