[PATCH v5 09/16] media: sony-starvis2: Use pm_runtime_autosuspend

From: Dave Stevenson

Date: Mon Oct 19 2026 - 11:33:35 EST


In order to reduce the time in stopping and restarting
streaming, use pm_runtime_autosuspend so the sensor
isn't powered down.

Signed-off-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>
---
drivers/media/i2c/sony-starvis2.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/media/i2c/sony-starvis2.c b/drivers/media/i2c/sony-starvis2.c
index 2388105b6a30..bf14768dbf98 100644
--- a/drivers/media/i2c/sony-starvis2.c
+++ b/drivers/media/i2c/sony-starvis2.c
@@ -858,7 +858,7 @@ static int starvis2_set_ctrl(struct v4l2_ctrl *ctrl)
break;
}

- pm_runtime_put(&client->dev);
+ pm_runtime_put_autosuspend(&client->dev);

return ret;
}
@@ -1047,7 +1047,7 @@ static int starvis2_enable_streams(struct v4l2_subdev *sd,
return 0;

err_rpm_put:
- pm_runtime_put(&client->dev);
+ pm_runtime_put_autosuspend(&client->dev);

return ret;
}
@@ -1070,7 +1070,7 @@ static int starvis2_disable_streams(struct v4l2_subdev *sd,

__v4l2_ctrl_grab(starvis2->link_freq, false);

- pm_runtime_put(&client->dev);
+ pm_runtime_put_autosuspend(&client->dev);

return ret;
}
@@ -1448,6 +1448,8 @@ static int starvis2_probe(struct i2c_client *client)

pm_runtime_set_active(dev);
pm_runtime_enable(dev);
+ pm_runtime_set_autosuspend_delay(dev, 1000);
+ pm_runtime_use_autosuspend(dev);

ret = starvis2_init_controls(starvis2);
if (ret)
@@ -1495,6 +1497,7 @@ static int starvis2_probe(struct i2c_client *client)
error_pm_runtime:
pm_runtime_disable(&client->dev);
pm_runtime_set_suspended(&client->dev);
+ pm_runtime_dont_use_autosuspend(&client->dev);

error_power_off:
starvis2_power_off(&client->dev);
@@ -1516,6 +1519,7 @@ static void starvis2_remove(struct i2c_client *client)
if (!pm_runtime_status_suspended(&client->dev))
starvis2_power_off(&client->dev);
pm_runtime_set_suspended(&client->dev);
+ pm_runtime_dont_use_autosuspend(&client->dev);
}

static const struct dev_pm_ops starvis2_pm_ops = {

--
2.34.1