This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: ov2740: Enable runtime PM before registering the async subdev
Author:  Sakari Ailus <sakari.ai...@linux.intel.com>
Date:    Fri Sep 8 11:52:12 2023 +0300

Enable runtime PM before registering the async subdev as the driver UAPI
may become accessible immediately after the registration. Runtime PM needs
to be enabled by that time.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/media/i2c/ov2740.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

---

diff --git a/drivers/media/i2c/ov2740.c b/drivers/media/i2c/ov2740.c
index 3a9700fbbe8c..6d5fb2789dc6 100644
--- a/drivers/media/i2c/ov2740.c
+++ b/drivers/media/i2c/ov2740.c
@@ -1130,6 +1130,12 @@ static int ov2740_probe(struct i2c_client *client)
                goto probe_error_v4l2_ctrl_handler_free;
        }
 
+       /* Set the device's state to active if it's in D0 state. */
+       if (full_power)
+               pm_runtime_set_active(&client->dev);
+       pm_runtime_enable(&client->dev);
+       pm_runtime_idle(&client->dev);
+
        ret = v4l2_async_register_subdev_sensor(&ov2740->sd);
        if (ret < 0) {
                dev_err_probe(dev, ret, "failed to register V4L2 subdev\n");
@@ -1140,16 +1146,12 @@ static int ov2740_probe(struct i2c_client *client)
        if (ret)
                dev_warn(&client->dev, "register nvmem failed, ret %d\n", ret);
 
-       /* Set the device's state to active if it's in D0 state. */
-       if (full_power)
-               pm_runtime_set_active(&client->dev);
-       pm_runtime_enable(&client->dev);
-       pm_runtime_idle(&client->dev);
-
        return 0;
 
 probe_error_media_entity_cleanup:
        media_entity_cleanup(&ov2740->sd.entity);
+       pm_runtime_disable(&client->dev);
+       pm_runtime_set_suspended(&client->dev);
 
 probe_error_v4l2_ctrl_handler_free:
        v4l2_ctrl_handler_free(ov2740->sd.ctrl_handler);

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to