aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/power/wm97xx_battery.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/power/wm97xx_battery.c b/drivers/power/wm97xx_battery.c
index cad1ba283bfd..c552082c8128 100644
--- a/drivers/power/wm97xx_battery.c
+++ b/drivers/power/wm97xx_battery.c
@@ -145,20 +145,22 @@ static irqreturn_t wm97xx_chrg_irq(int irq, void *data)
145} 145}
146 146
147#ifdef CONFIG_PM 147#ifdef CONFIG_PM
148static int wm97xx_bat_suspend(struct platform_device *dev, pm_message_t state) 148static int wm97xx_bat_suspend(struct device *dev)
149{ 149{
150 flush_scheduled_work(); 150 flush_scheduled_work();
151 return 0; 151 return 0;
152} 152}
153 153
154static int wm97xx_bat_resume(struct platform_device *dev) 154static int wm97xx_bat_resume(struct device *dev)
155{ 155{
156 schedule_work(&bat_work); 156 schedule_work(&bat_work);
157 return 0; 157 return 0;
158} 158}
159#else 159
160#define wm97xx_bat_suspend NULL 160static struct dev_pm_ops wm97xx_bat_pm_ops = {
161#define wm97xx_bat_resume NULL 161 .suspend = wm97xx_bat_suspend,
162 .resume = wm97xx_bat_resume,
163};
162#endif 164#endif
163 165
164static int __devinit wm97xx_bat_probe(struct platform_device *dev) 166static int __devinit wm97xx_bat_probe(struct platform_device *dev)
@@ -281,11 +283,12 @@ static struct platform_driver wm97xx_bat_driver = {
281 .driver = { 283 .driver = {
282 .name = "wm97xx-battery", 284 .name = "wm97xx-battery",
283 .owner = THIS_MODULE, 285 .owner = THIS_MODULE,
286#ifdef CONFIG_PM
287 .pm = &wm97xx_bat_pm_ops,
288#endif
284 }, 289 },
285 .probe = wm97xx_bat_probe, 290 .probe = wm97xx_bat_probe,
286 .remove = __devexit_p(wm97xx_bat_remove), 291 .remove = __devexit_p(wm97xx_bat_remove),
287 .suspend = wm97xx_bat_suspend,
288 .resume = wm97xx_bat_resume,
289}; 292};
290 293
291static int __init wm97xx_bat_init(void) 294static int __init wm97xx_bat_init(void)