Use dev_pm_ops instead of the deprecated legacy suspend/resume callbacks.

Signed-off-by: Lars-Peter Clausen <l...@metafoo.de>
---
 drivers/media/i2c/adv7180.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c
index 34f39d3..3d75423 100644
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
@@ -612,9 +612,10 @@ static const struct i2c_device_id adv7180_id[] = {
        {},
 };
 
-#ifdef CONFIG_PM
-static int adv7180_suspend(struct i2c_client *client, pm_message_t state)
+#ifdef CONFIG_PM_SLEEP
+static int adv7180_suspend(struct device *dev)
 {
+       struct i2c_client *client = to_i2c_client(dev);
        int ret;
 
        ret = i2c_smbus_write_byte_data(client, ADV7180_PWR_MAN_REG,
@@ -624,8 +625,9 @@ static int adv7180_suspend(struct i2c_client *client, 
pm_message_t state)
        return 0;
 }
 
-static int adv7180_resume(struct i2c_client *client)
+static int adv7180_resume(struct device *dev)
 {
+       struct i2c_client *client = to_i2c_client(dev);
        struct v4l2_subdev *sd = i2c_get_clientdata(client);
        struct adv7180_state *state = to_state(sd);
        int ret;
@@ -639,6 +641,12 @@ static int adv7180_resume(struct i2c_client *client)
                return ret;
        return 0;
 }
+
+static SIMPLE_DEV_PM_OPS(adv7180_pm_ops, adv7180_suspend, adv7180_resume);
+#define ADV7180_PM_OPS (&adv7180_pm_ops)
+
+#else
+#define ADV7180_PM_OPS NULL
 #endif
 
 MODULE_DEVICE_TABLE(i2c, adv7180_id);
@@ -647,13 +655,10 @@ static struct i2c_driver adv7180_driver = {
        .driver = {
                   .owner = THIS_MODULE,
                   .name = KBUILD_MODNAME,
+                  .pm = ADV7180_PM_OPS,
                   },
        .probe = adv7180_probe,
        .remove = adv7180_remove,
-#ifdef CONFIG_PM
-       .suspend = adv7180_suspend,
-       .resume = adv7180_resume,
-#endif
        .id_table = adv7180_id,
 };
 
-- 
1.8.0

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to