Merge tag 'nfs-for-3.10-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[cascardo/linux.git] / drivers / misc / isl29003.c
index 29b306c..c5145b3 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,