misc: isl29003: Use dev_pm_ops
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 11 Apr 2013 09:24:41 +0000 (11:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Apr 2013 19:39:02 +0000 (12:39 -0700)
Use dev_pm_ops instead of the deprecated legacy suspend/resume callbacks.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/isl29003.c

index 29b306c6bdb3bbf3d5e4c2b225984d9572acdd10..c5145b3fcce83c166c4e94335d3167b90edf83a4 100644 (file)
@@ -409,18 +409,20 @@ static int isl29003_remove(struct i2c_client *client)
        return 0;
 }
 
-#ifdef CONFIG_PM
-static int isl29003_suspend(struct i2c_client *client, pm_message_t mesg)
+#ifdef CONFIG_PM_SLEEP
+static int isl29003_suspend(struct device *dev)
 {
+       struct i2c_client *client = to_i2c_client(dev);
        struct isl29003_data *data = i2c_get_clientdata(client);
 
        data->power_state_before_suspend = isl29003_get_power_state(client);
        return isl29003_set_power_state(client, 0);
 }
 
-static int isl29003_resume(struct i2c_client *client)
+static int isl29003_resume(struct device *dev)
 {
        int i;
+       struct i2c_client *client = to_i2c_client(dev);
        struct isl29003_data *data = i2c_get_clientdata(client);
 
        /* restore registers from cache */
@@ -432,10 +434,12 @@ static int isl29003_resume(struct i2c_client *client)
                data->power_state_before_suspend);
 }
 
+static SIMPLE_DEV_PM_OPS(isl29003_pm_ops, isl29003_suspend, isl29003_resume);
+#define ISL29003_PM_OPS (&isl29003_pm_ops)
+
 #else
-#define isl29003_suspend       NULL
-#define isl29003_resume                NULL
-#endif /* CONFIG_PM */
+#define ISL29003_PM_OPS NULL
+#endif /* CONFIG_PM_SLEEP */
 
 static const struct i2c_device_id isl29003_id[] = {
        { "isl29003", 0 },
@@ -447,9 +451,8 @@ static struct i2c_driver isl29003_driver = {
        .driver = {
                .name   = ISL29003_DRV_NAME,
                .owner  = THIS_MODULE,
+               .pm     = ISL29003_PM_OPS,
        },
-       .suspend = isl29003_suspend,
-       .resume = isl29003_resume,
        .probe  = isl29003_probe,
        .remove = isl29003_remove,
        .id_table = isl29003_id,