max17040_battery: Use dev_pm_ops
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / power / max17040_battery.c
index 74a0bd9bc1621ef8a139ebace08e6d8f12c2f775..c7ff6d67f158179aa891a1d41b8a10952191f240 100644 (file)
@@ -246,31 +246,34 @@ static int max17040_remove(struct i2c_client *client)
        return 0;
 }
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 
-static int max17040_suspend(struct i2c_client *client,
-               pm_message_t state)
+static int max17040_suspend(struct device *dev)
 {
+       struct i2c_client *client = to_i2c_client(dev);
        struct max17040_chip *chip = i2c_get_clientdata(client);
 
        cancel_delayed_work(&chip->work);
        return 0;
 }
 
-static int max17040_resume(struct i2c_client *client)
+static int max17040_resume(struct device *dev)
 {
+       struct i2c_client *client = to_i2c_client(dev);
        struct max17040_chip *chip = i2c_get_clientdata(client);
 
        schedule_delayed_work(&chip->work, MAX17040_DELAY);
        return 0;
 }
 
+static SIMPLE_DEV_PM_OPS(max17040_pm_ops, max17040_suspend, max17040_resume);
+#define MAX17040_PM_OPS (&max17040_pm_ops)
+
 #else
 
-#define max17040_suspend NULL
-#define max17040_resume NULL
+#define MAX17040_PM_OPS NULL
 
-#endif /* CONFIG_PM */
+#endif /* CONFIG_PM_SLEEP */
 
 static const struct i2c_device_id max17040_id[] = {
        { "max17040", 0 },
@@ -281,11 +284,10 @@ MODULE_DEVICE_TABLE(i2c, max17040_id);
 static struct i2c_driver max17040_i2c_driver = {
        .driver = {
                .name   = "max17040",
+               .pm     = MAX17040_PM_OPS,
        },
        .probe          = max17040_probe,
        .remove         = max17040_remove,
-       .suspend        = max17040_suspend,
-       .resume         = max17040_resume,
        .id_table       = max17040_id,
 };
 module_i2c_driver(max17040_i2c_driver);